PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ID Nummer automatisch herausfinden ?


Xyla
14.07.2003, 08:01
Hallo und einen schönen Montag,

ich bin es schon wieder und ich hoffe nicht, dass ich allzusehr nerve.
Da es mit dem Löschen ja nun klappt, steh ich vor dem nächsten Problem.
Ich benutze ein Feld namens ID.
Dieses Feld wird aber nicht wie allg. üblich via auto-increment automatisch vergeben, sondern manuell.
Diverse Einträge wurden in der Vergangenheit auch schon gelöscht. Sprich diese ID Nummern zwischendrin fehlen nun, was aber nicht weiter dramtisch ist.

Der letzte von mir eingegebene Datensatz hat nun z.B. die ID 199, ich müßte also den nächsten mit der ID 200 anlegen.
Nur, wie sag ich es meinem Formular ??

Sprich wie bekommt ich den höchsten vergeben Wert im Feld ID heraus ??


Vielen Dank im Voraus

Xyla

zwerg
14.07.2003, 08:08
HI

Das ist relativ einfach.
du suchst die den häcshten wert aus und rechnsst plus 1 :D
Und wie i deiner frage entnehme weisst du nicht wie du den hächsten wert findest. In Mysql gibt es das Wörtchen MAX ;) zu kannst du es verwenden:


mysql_query("SELECT MAX(ID) FROM tabelle_X");


Gruss

zwerg

Xyla
14.07.2003, 08:26
Danke ;)

Naja bin absoluter Newbie ;o)


Xyla

zwerg
14.07.2003, 08:29
HI

Kein Problem. hast es hinbekommen?

Gruss

zwerg

Xyla
14.07.2003, 08:52
nee er gibt dann irgendwas aus von wegen "Resources ID: #2" :(

Es müßte aber ne 200 kommen oder so. die ID 2 gibt es garnicht.

Xyla


so gehts:
$query1 = MYSQL_QUERY("SELECT max(id) as max_id FROM tipp_mitglieder");
$getvar = MYSQL_FETCH_ARRAY($query1);
$id=$getvar["max_id"];

zwerg
14.07.2003, 09:03
HI

Das ist selbstverständlich ein fehler.
Du musst den Code natürlich noch beenden das war nur ein schnippsel!


$test = mysql_query("SELECT MAX(templateid) AS templateid FROM templates");
$row = mysql_fetch_array($test);
echo $row['templateid'];


Gruss

zwerg

Xyla
14.07.2003, 09:28
Klasse Danke!

So nun kommen nur noch 296 Fragen ;)

Xyla

martin
14.07.2003, 09:42
die resource ID (Ergebnis-Kennung) hat nichts mit den werten in der datenbank zu tun.

wenn man sowas macht:


$query = mysql_query("SELECT * FROM bla...");


enthält $query nicht die gefundenen daten, sondern nur eine kennung, mit der auf diese daten zugegriffen werden kann.
und das kann dann z.b. die mysql_fetch_array() funktion sein.

GameCrash
14.07.2003, 11:59
Mal ne dumme Frage, warum setzt Du das Feld nicht einfach auf auto_increment?

Xyla
14.07.2003, 14:08
Weil die DB schon ne Weile läuft (Daten wurden bisher von Hand in MyAdmin eingepflegt) die ID ist Primary Key und ich weiß nicht, wie sich die Auto_Increment Funktion im Nachhinein auf die DB auswirkt.

Xyla

GameCrash
14.07.2003, 14:21
Die wirkt sich eigentlich garnicht aus, nur das halt wenn Du keinen expliziten Wert angibst der den nächsthöheren nimmt...

Mach einfach ein Backup von der Datenbank, dann kann Dir nix passieren ;)