hi,
ich habe derzeit ein kleines problem und ich ahne woran es liegt, weiß aber im moment nicht wie ich es behebe:
HINWEIS:
In der Datenbank liegt ein UNIQUE über plz; STADT und Tankstellennamen.
Gleich lautende einträge können also nicht eingefügt werden -> false wird zurüchgegeben und dadurch $aendern ausgeführt. welches diesen betreffenden Datensatz aktualisieren soll. Dazu fehlt mir nun die Where anweisung, weil ich nicht weiß, wie ich der DB so klar machen kann, wo es überschreiben soll...
Wenn ich nun einen neuen Eintrag über das formular mache und er feststellt, dass die Drei UNIQUE Felder PLZ; STADT und Tankstellenname schon vorhanden sind (alle drei in einem Datensatz gleich), dann soll er ja den Eintrag anstatt ihn als neuen Datensatz zu schreiben nur den bestehenden ändern.
Nun macht er das leider nur nicht richtig.
Er aktualisiert derzeit einfach alle Datensätze auf diese Preise ...
Ich denke das ich in dem $aendern eben sagen muss, welchen Datensatz er aendern soll, nämlich ja den, den er als vorhanden erkennt?!
Nur wie sag ich ihm das?
ich habe derzeit ein kleines problem und ich ahne woran es liegt, weiß aber im moment nicht wie ich es behebe:
PHP-Code:
<?php
if($action=="senden")
{
if(!$Tankstellenname) $fehler[] = "<font class='td2_ueberschrift'>Der
Tankstellenname fehlt.</font>";
if(!$Tankstellenadresse) $fehler[] = "<font class='td2_ueberschrift'>Die
Tankstellenadresse fehlt.</font>";
if(!$Stadt) $fehler[] = "<font class='td2_ueberschrift'>Die Stadt
fehlt.</font>";
if(!$Zeit) $fehler[] = "<font class='td2_ueberschrift'>Die
Feststellungszeit fehlt.</font>";
if(!count($fehler))
{
// Sendet Email, wenn Prüfung "ok"
$verbindung = mysql_connect ("localhost","sss","sss");
mysql_select_db("usr_sss_1");
$Id = 0;
$aendern = "UPDATE Tankstellen Set BenzinPreis='$BenzinPreis',
SuperPreis='$SuperPreis', SuperPlusPreis='$SuperPlusPreis',
DieselPreis='$DieselPreis', Zeit='$Zeit'";
$eintrag = "INSERT INTO Tankstellen (Tankstellenname,
Tankstellenadresse, Stadt, PLZ, BenzinPreis, SuperPreis, SuperPlusPreis,
DieselPreis, Zeit)
VALUES
('$Tankstellenname', '$Tankstellenadresse', '$Stadt', '$PLZ', '$BenzinPreis',
'$SuperPreis', '$SuperPlusPreis', '$DieselPreis', '$Zeit')";
if(mysql_query("$eintrag")==false) mysql_query("$aendern");
mysql_close($verbindung);
echo("<p>Ihre Nachricht wurde erfolgreich versendet.<p>\n");
}
else
{ // Fehlerausgabe, wenn Felder leer waren
echo "<font>Beim Senden trat folgender Fehler auf:</font>";
echo "<ul><li>".implode("<li>",$fehler)."</ul>";
}
}
?>
In der Datenbank liegt ein UNIQUE über plz; STADT und Tankstellennamen.
Gleich lautende einträge können also nicht eingefügt werden -> false wird zurüchgegeben und dadurch $aendern ausgeführt. welches diesen betreffenden Datensatz aktualisieren soll. Dazu fehlt mir nun die Where anweisung, weil ich nicht weiß, wie ich der DB so klar machen kann, wo es überschreiben soll...
Wenn ich nun einen neuen Eintrag über das formular mache und er feststellt, dass die Drei UNIQUE Felder PLZ; STADT und Tankstellenname schon vorhanden sind (alle drei in einem Datensatz gleich), dann soll er ja den Eintrag anstatt ihn als neuen Datensatz zu schreiben nur den bestehenden ändern.
Nun macht er das leider nur nicht richtig.
Er aktualisiert derzeit einfach alle Datensätze auf diese Preise ...
Ich denke das ich in dem $aendern eben sagen muss, welchen Datensatz er aendern soll, nämlich ja den, den er als vorhanden erkennt?!
Nur wie sag ich ihm das?
Kommentar