Einzeiliges Eingabefeld mit Zeile in MySQl-Datenbank vergleichen

altox-de

Erfahrenes Mitglied
Hallo zusammen.
Folgendes Problem:

Ich habe die MySQl-DB mit gaaaanz vielen Einträgen
(ich erfasse Katzen, Hunde etc. für eine regionale Vermisste-Haustiere-Seite).
Jedes Tier erhält dabei eine ID.

Vor der Eintragung eines neuen Tieres wüsste ich gerne,
ob ich die ID, die ich nun verwenden will, schon mal vergeben habe.

Dafür würde ich einfach ein Eingabefeld mit Button einrichten,
das dann irgendwie die Datenbank mit der entsprechenden Zeile abfragt.

Weiß jemand von euch,
wie das geht?

Hilfe wäre toll,
DANKE
 
Sofern die ID KEINEM System folgt (etwa alle Katzen bekommen 100-199, Hunde 200-299,...) kannst Du in PHPMyAdmin im Feld ID unter "Extras" den Wert "auto_increment" wählen. Dann bekommt jeder neue Eintrag automatisch eine freie ID. Das Feld ID muss noch nicht mal mehr in der Insert-SQL-Query erwähnt werden.
 
Doch, leider folgen die einem System
und wenn wir von 2 versch. PCs die Daten eintragen,
wissen wir evtl. nicht immer, ob diese ID schon verwendet wurde.

Deshalb wäre das sehr wichtig!
 
Es ist möglicherweise vielleicht nicht die eleganteste Lösung (in PHP):
$id ist die ID, die Ihr vergeben wollt.

PHP:
$query = "SELECT id FROM tabelle WHERE id=$id";
$abfrage = mysql_query($query, $datenbank) or die(mysql_error());
$anzahl = mysql_num_rows($abfrage);

$anzahl ist jetzt die Anzahl der Datensätze mit der ID=$id. Ist $anzahl == 0 wird die ID derzeit nicht verwendet und ist frei.
 

Neue Beiträge

Zurück