WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP-Frage (http://www.wcm.at/forum/showthread.php?t=93668)

Take_Five 09.04.2003 18:57

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.

pong 09.04.2003 22:16

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

Take_Five 14.04.2003 18:07

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.

käptn 14.04.2003 18:32

Hm...

Was funkt nicht?

SQL: SELECT MAX(id)+1 as Maximum FROM ...

~

Take_Five 14.04.2003 19:14

"Select MAX(".$FIELD.") FROM tabproducts"; Wobei in $FIELD "ID" drin steht.

und des $result[0] geht aber nur bis 10 und nicht höher

_m3 14.04.2003 19:44

Was für ein Feldtyp ist denn "ID" ???
Numerisch oder Text?

Take_Five 14.04.2003 20:04

Numerisch

jonix 14.04.2003 20:28

klingt fuer mich danach, dass der query MAX() keinen array zurueckgibt, sondern einen string. versuch mal, was passiert, wenn du folgendes schreibst:
PHP-Code:

$query "Select MAX(" $field ") from " $table
if(!
$a=mysql_query($query))
{
  echo 
mysql_error(); 
  return 
NULL;

$result mysql_fetch_array($a); 
return(
$result 1); 

(nur ein schuss ins blaue)

käptn 14.04.2003 20:40

mysql_fetch_array gibt auf jeden Fall ein Array zurück.

Was ist denn der höchste Wert in deiner Tabelle.Spalte?

~

Take_Five 14.04.2003 20:41

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