Zum Inhalt springen

Löschen sql- daten in tca

Erstellt am 19. Juni 2015 · 1 Antwort · letzte Antwort am 19. Juni 2015

Tags: TYPO3 4.x, Frage

Philipp88 ·

Hallo,

vor einiger Zeit habe ich eine Extention erstellt. in dieser Extention werden bestimmte firmen im umkreis des benutzers (eigegebene plz) angezeigt. dazu verwende ich die geodb datenbank um die lat/ long/ coord x/ coord y/ coord z zu berechnen. Diese Berechneten Werte werden in meine Firmentabelle geschrieben.

$res = $GLOBALS["TYPO3_DB"]->exec_SELECTquery("*", "tx_implantateadressen_adr", "koordx = '' OR koordy = '' OR koordz = ''
         OR koordx IS NULL OR koordy IS NULL OR koordz IS NULL");
      $num = $GLOBALS["TYPO3_DB"]->sql_num_rows($res);

      ### neue Einträge Updaten ###
      for ($i = 0; $i < $num; $i++) {
        $row = $GLOBALS["TYPO3_DB"]->sql_fetch_assoc($res);
        $uid = $row["uid"];
        $plz2 = $row["plz"];        # PLZ von Adressen

        list($lon, $lat) = $this->plzcoord($plz2);

        list($x, $y, $z) = $this->kugel2kartesisch($erdradius, $lon, $lat);
        $update = array("longitude" => $lon, "latitude" => $lat, "koordx" => $x, "koordy" => $y, "koordz" => $z);

        $GLOBALS["TYPO3_DB"]->exec_UPDATEquery("tx_implantateadressen_adr", "uid = $uid", $update);
}

Doch nun ist das Problem, das wenn in Backend die plz geändert wird, bleiben ja die alten berechneten Daten dennoch in der db. Somit wird ja auch nicht der Updatebefehl für diesen Datensatz ausgeführt 🙁

Meine Idee wäre, wenn der Datensatz im Backend aktualisiert wird mittels Funktion die dazugehörigen plz- Daten auf null gesetzt werden.
Wie und wo muss das TCA geändert werden?

Freue mich auf eure Antworten.

Danke im vorraus und schönes Wochenende
Philipp