![]() |
PHP-Frage
Hallöchen. Ich hab eine PHP-SQL Frage. Ich möchte aus einem Datenbankfeld den höchsten Wert auslesen und 1 dazuzählen.
Ich hab das mal so gelöst (funkt aber leider nur von 0-9 alles über 10 schafft er nischt) $query="Select MAX($field) from ".$table; If(!$a=mysql_query($query)) { echo mysql_error(); return NULL } $result=mysql_fetch_array($a); $result[0]+=1; return $result[0]; Es funktioniert bis 10. Dann krieg ich immer nur 10 10 10 10. |
Wie schaut denn dein table aus?
Desweiteren hast du nen Syntaxfehler ein deinem Codestück (ist dir aber sicher schon aufgefallen ;) ) pong >>$result[0]+=1; bist du dir auch ganz sicher mit dieser Zeile und weisst genau welches Stück du damit änderst? (ein etwaige Wiederbenutzer wird dich auf jedenfall dafür hassen) pong |
Naja im Table steht:
ID und Name. result[0] liefert mir somit die ID. Ich mein, ich habs jetzt mit einer Iteration gelöst also: $max=0; while($result=mysql_fetch_array($a)) { If($max<$result[0]) { $max=$result[0]; } } return $max+=1; Mich würd trotzdem interessieren warum des mit der SQL Max Funktion ned funkt. weil mit der Schleife funktionierts, insofern kann des $result[0] nicht dran Schuld sein. |
Hm...
Was funkt nicht? SQL: SELECT MAX(id)+1 as Maximum FROM ... ~ |
"Select MAX(".$FIELD.") FROM tabproducts"; Wobei in $FIELD "ID" drin steht.
und des $result[0] geht aber nur bis 10 und nicht höher |
Was für ein Feldtyp ist denn "ID" ???
Numerisch oder Text? |
Numerisch
|
klingt fuer mich danach, dass der query MAX() keinen array zurueckgibt, sondern einen string. versuch mal, was passiert, wenn du folgendes schreibst:
PHP-Code:
|
mysql_fetch_array gibt auf jeden Fall ein Array zurück.
Was ist denn der höchste Wert in deiner Tabelle.Spalte? ~ |
na, funkt auch nicht
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag