Datensatzprüfung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
mkoegler

Datensatzprüfung

Beitrag von mkoegler »

Hallo

Ich habe ein Programm geschrieben, dass eine gewisse Anzahl von Datensätzen $anzahl in eine Datenbank schreibt.
Für jeden Datensatz wird eine Zufallszahl generiert $nummer und in die DB geschrieben.
Wie gelingt es mir eine if-Schleife zu implemetieren, die überprüft ob die Nummer schon vorhanden ist - habt Ihr da ne Idee;
Hier ist der Code:

<?

mt_srand((double)microtime()*10000000);

//Schleife zum Eintragen der Prepaidnummern Durchführungsintervall = $anzahl

for($i=1;$i<=$anzahl;$i++)
{
$db = mysql_connect("127.0.0.1", "root");
mysql_select_db("prepaid",$db);
$nummer = mt_rand(000000001,9999999999);


$sql = "INSERT INTO karte (nummer,betrag,aktion,betrageinzel,anzahl) VALUES ('$nummer','$betrag','$aktion','$betrageinzel','$anzahl')";
$ergebnis = mysql_query($sql,$db);
}


Vielen Dank im Voraus
:oops:
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Was hat das jetzt mit phpBB zu tun?

Ansonsten wenn 'nummer' als Primary Key definiert ist, solltest du es daran bemerken, dass die dir mysql_query einen Fehler zurückgibt.

Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
mkoegler

Beitrag von mkoegler »

Leider ist die nummer nicht der Primärschlüssel;
Ich müsste eine Überprüfung der $nummer aus der Datenbank in meine for Schleife bauen - aber wie?
PhilippK
Vorstand
Vorstand
Beiträge: 14662
Registriert: 13.08.2002 14:10
Wohnort: Stuttgart
Kontaktdaten:

Beitrag von PhilippK »

Code: Alles auswählen

$sql = "SELECT nummer
  FROM karte
  WHERE nummer = $nummer";
if ( !($ergebnis = mysql_query($sql,$db)) )
{
  die('Fehler bei SQL-Ausführung);
}
if ( $row = mysql_fetch_array($ergebnis) )
{
  // Nummer bereits vergeben
}
else
{
  // Nummer noch nicht vergeben
}
Gruß, Philipp
Kein Support per PN!
Der Sozialstaat ist [...] eine zivilisatorische Errungenschaft, auf die wir stolz sein können. Aber der Sozialstaat heutiger Prägung hat sich übernommen. Das ist bitter, aber wahr. (Horst Köhler)
Meine Mods
mkoegler

Beitrag von mkoegler »

Vielen Dank
Antworten

Zurück zu „Coding & Technik“