Hi zusammen!
Mit folgendem Code generiere ich eine Kundennummer und überprüfe ob diese bereits vorhanden ist. Ist dies der Fall, sollte die Kundennummer erneut generiert werden. Wenn Sie nicht vorhanden ist soll sie in die Datenbank eingetragen werden:
Problem: Die Schleife läuft mehrere tausend mal durch, obwohl in der Datenbank von Anfang an erstmal keine Kundennummer eingetragen ist.
Mit folgendem Code generiere ich eine Kundennummer und überprüfe ob diese bereits vorhanden ist. Ist dies der Fall, sollte die Kundennummer erneut generiert werden. Wenn Sie nicht vorhanden ist soll sie in die Datenbank eingetragen werden:
PHP-Code:
// Kundennummer generieren
function kundennummergenerator(){
$number2 = 7;
$zeichen2 = "1234567890";
srand((double)microtime()*1000000);
for($i2 = 0; $i2 < $number2; $i2++)
{
$kundennummer .= substr($zeichen2,(rand()%(strlen ($zeichen2))), 1);
}
return $kundennummer;
}
// Überprüfen ob Kundennummer bereits vorhanden ist
$isNum = "0";
while($isNum = "1") {
$kundennummer = kundennummergenerator();
$query = "Select count(id) as num from tab_members where kundennummer='$kundennummer'";
$result = mysql_query($query);
if (mysql_errno()) die ("MySQL-Fehler: " . mysql_error());
$num = mysql_result($result, "num");
if(!$num) {
$isNum = "1";
$schreiben = "INSERT INTO tab_members (kundennummer) VALUES ('$kundennummer')";
$eintragen = mysql_query($schreiben)
or die(mysql_error());
}
}
Kommentar