janosch: Adressliste: Bei Neueintrag auf doppelte Einträge prüfen

Hallo S-Team,

ich erstelle gerade eine Kunden-Datenbank mit PHP und SQL. Wenn ich einen Neukunden eingebe soll geprüft werden ob Datensatz den "namen" und "vornamen" schon beinhaltet, erst dann soll in die Datenbank geschrieben werden: ($db->query("INSERT INTO $k_table ...)

Falls der Namen schon vorhanden ist soll eine funktion (z.B. alert()) aufgerufen werden. Wie kann ich das bewerkstelligen?

  1. Hi,

    Hallo S-Team,

    ... welches aus Leuten wie Dir und mir besteht :-)

    ich erstelle gerade eine Kunden-Datenbank mit PHP und SQL.

    Die Begriffe "Datenbank" und "SQL" sind quasi-redundant. Wichtiger wäre die Information, um welches Datenbanksystem es sich handelt - Oracle? Access? MySQL? Postgres?

    Wenn ich einen Neukunden eingebe soll geprüft werden ob Datensatz den "namen" und "vornamen" schon beinhaltet, erst dann soll in die Datenbank geschrieben werden: ($db->query("INSERT INTO $k_table ...)

    Entweder machst Du im DB-Layout die Spaltenkombination Vorname/Nachname unique, dann wird ein entsprechendes Insert fehlschlagen; oder Du versuchst vor dem Insert, einen entsprechenden Datensatz zu selektieren, so dass Du von dessen Existenz erfährst.

    Falls der Namen schon vorhanden ist soll eine funktion (z.B. alert()) aufgerufen werden.

    Ein alert() ist eine clientseitige Aktion. Da Du Dich bereits auf Serverseite befindest, musst Du dem Client ein komplettes Ergebnis zurückschicken. Dies kann eine weitaus bessere Form der Mitteilung beinhalten als ein alert().

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Danke, ich arbeite mit PHP und MySQL,

      Nun ich werde mal prüfen, was ich davon umsetzen werde. Wenn ein entsprechendes Insert fehlschlägt, wie wird php davon erfahren? Gibts von Mysql was zurück?

      grüße janosch

      1. TomIRL

        Danke, ich arbeite mit PHP und MySQL,

        Sagen wir besser du probierst damit zu arbeiten, oder übst :-)

        Nun ich werde mal prüfen, was ich davon umsetzen werde. Wenn ein entsprechendes Insert fehlschlägt, wie wird php davon erfahren? Gibts von Mysql was zurück?

        SELECT FROM gibt natürlich was zurück!
        RTFM!
        Zur Hilfestellung
        SELECT FROM tabellenname WHERE VORNAME ='$vorname'AND NAME='$name'
        Dann hast Du entweder ein Ergebniss oder eben keins, wenn Du keins hast dann INSERT INTO
        ELSE echo "Name vorhanden";

        Wie gesagt das Manual hilft weiter.

        TomIRL

      2. hi,

        Wenn ein entsprechendes Insert fehlschlägt, wie wird php davon erfahren? Gibts von Mysql was zurück?

        ja. benutze die im manual unter http://www.php.net/manual/de/ref.mysql.php aufgeführten funktionen, um etwas über einen eventuellen fehler zu erfahren, z.b. mysql_error() oder mysql_errno().

        gruss,
        wahsaga