• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Kein doppelter eintrag

KIUNES

New member
Hallo Leute,
wie ist es möglich, dass man eine Info bekomme, dass wenn ich einen Kunden mit gleichem vornamen nachnamen und telefonnummer aber abweichender kundennr eintrage, dass der mir sagt: Dublette!
 
Also ich würds einfach so machen, dass beim Script wo die Daten hingeschickt werden (?) zuerst die Id rausgesucht werden soll, die den Nachname, vorname etc hat, und wenns nix findet, isses noch nich vergeben, sonst kommt die meldung dass es die schon gibt
 
also id wird neu generiert, wäre es möglich die post-übertragenen daten (vname/nname/tel/etc...) über WHERE zu suchen und über if (falls eben vorhanden) fehlermeldung auszuspucken?
aber wie lautet der if-befehl bei (wenn blablabla-Daten in Tabelle vorhanden, dann)?
 
Zuletzt bearbeitet:
also id wird neu generiert, wäre es möglich die post-übertragenen daten (vname/nname/tel/etc...) über WHERE zu suchen und über if (falls eben vorhanden) fehlermeldung auszuspucken?
aber wie lautet der if-befehl bei (wenn blablabla-Daten in Tabelle vorhanden, dann)?
ON DUPLICATE KEY UPDATE

Ab und zu mal ein Handbuch lesen wäre schon hilfreich.
 
So ich hab mir was überlegt, aber brauch dennoch eure hilfe. Wie lautet der if befehl, wenn diese diese daten in der datenbank vorhanden sind?
PHP:
mysql_query("SELECT * FROM ava_kunden WHERE vname='$vname' AND nname='$nname');
Brauche ein true oder false, 0 oder 1, irgendwie so ein ergebnis. Weiß da jemand was?
 
Schau' hald nach, ob diese Abfrage eine Zeile (oder mehrere) zurückgibt.
Wie bei einer normalen DB-Abfrage hald auch.

PS: Bedenke, es gibt Menschen mit identischem Vor- UND Zunamen.
 
Hald - halt - ist doch eh alles das selbe: Dialekt.

Ich meinte zwei Menschen mit identischem Vor- und Zuname (also es gibt sicherlich mehrere Hans Meier).
 
Schau' hald nach, ob diese Abfrage eine Zeile (oder mehrere) zurückgibt.
Wie bei einer normalen DB-Abfrage hald auch.
Ahhhhhhhja und wie? Bevor ich hier wieder ärger bekomme, sag mir bitte nur wonach ich suchen muss.

PS: Bedenke, es gibt Menschen mit identischem Vor- UND Zunamen.
ja das ist ja nur ein teil, wollte nicht alle angaben posten, kommt noch anschrift, kontodaten, gebdatum, etc in die abfrage später - denke das ist einmalig genug ;)
 
PHP:
$result = mysql_query("SELECT id, name FROM mytable");

while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}

mysql_free_result($result);

Wo ist denn da das WHERE um meine daten zuzuordnen?
 
Dieses Beispiel soll dir ja auch nur zeigen, was mysql_fetch_array mit einer DB-Antwort macht.
Wenn du jetzt deine MySQL-Anfrage an den DB-Server schickst willst du ja wissen, ob es Einträge mit deinen Voraussetzungen gibt. Wenn es keine gibt, schickt der Server keine Zeilen. Wenn es aber welche gibt, dann schickt er die dementsprechenden Daten(Zeilen).

Du musst also überprüfen, ob der Server was schickt oder nicht.
Das kannst du mit dieser Funktion.
 
Und wie wir sehn sehn wir nix ;) obwohl Daten vorhanden!
PHP:
$vname_test = "Markus";
$nname_test = "Denkel";

$result = mysql_query("SELECT * FROM ava_kunden WHERE vname='$vname_test' AND nname='$nname_test'");
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}
mysql_free_result($result);
 
Ev. ist irgendwas in deiner MySQL-Syntax falsch:
PHP:
$vname_test = "Markus";
$nname_test = "Denkel";

$result = mysql_query("SELECT * FROM ava_kunden WHERE vname='$vname_test' AND nname='$nname_test'");
if (!$result){
	die("Die Abfrage konnte nicht ausgeführt werden: " . mysql_error() . " (Fehlernr.: " . mysql_errno() . ")");
}
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    printf("ID: %s  Name: %s", $row[0], $row[1]);  
}
mysql_free_result($result);
 
1. Sicher, dass ein Datensatz mit diesen Namen in der Tabelle ist?
2. Ich bin mir nicht ganz sicher, auf welchen Ausgabekanal printf geht:
PHP:
$vname_test = "Markus";
$nname_test = "Denkel";

$result = mysql_query("SELECT * FROM ava_kunden WHERE vname='$vname_test' AND nname='$nname_test'");
if (!$result){
    die("Die Abfrage konnte nicht ausgeführt werden: " . mysql_error() . " (Fehlernr.: " . mysql_errno() . ")");
}
while ($row = mysql_fetch_array($result, MYSQL_NUM)) {
    echo "Eine Zeile wurde gefunden: ";
    print_r($row);
}
mysql_free_result($result);
 
Zuletzt bearbeitet:
Noch eine (dumme) Nachfrage - eine Verbindung zum (richtigen) MySQL-Server besteht?

PS: Ist dein PHP so eingestellt, dass es auch Warnungen ausgibt?
 
Zurück
Oben