WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 09.04.2003, 18:57   #1
Take_Five
Senior Member
 
Registriert seit: 09.06.2001
Beiträge: 138


Take_Five eine Nachricht über ICQ schicken
Standard 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.
____________________________________
Nur die Übung trennt das Außergewöhnliche vom Gewöhnlichen
Take_Five ist offline   Mit Zitat antworten
Alt 09.04.2003, 22:16   #2
pong
Inventar
 
Benutzerbild von pong
 
Registriert seit: 25.12.2000
Alter: 41
Beiträge: 9.063

Mein Computer

pong eine Nachricht über ICQ schicken
Standard

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
____________________________________
\"Ein Gewitter reinigt die Luft\", sagte der Mann, nachdem ein Blitz seine Frau erschlug

Nicht klicken!


Erstposteralarm/Beschwerde/Kummerkasten


Verplattet
pong ist offline   Mit Zitat antworten
Alt 14.04.2003, 18:07   #3
Take_Five
Senior Member
 
Registriert seit: 09.06.2001
Beiträge: 138


Take_Five eine Nachricht über ICQ schicken
Standard

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.
____________________________________
Nur die Übung trennt das Außergewöhnliche vom Gewöhnlichen
Take_Five ist offline   Mit Zitat antworten
Alt 14.04.2003, 18:32   #4
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

Hm...

Was funkt nicht?

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

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 14.04.2003, 19:14   #5
Take_Five
Senior Member
 
Registriert seit: 09.06.2001
Beiträge: 138


Take_Five eine Nachricht über ICQ schicken
Standard

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

und des $result[0] geht aber nur bis 10 und nicht höher
____________________________________
Nur die Übung trennt das Außergewöhnliche vom Gewöhnlichen
Take_Five ist offline   Mit Zitat antworten
Alt 14.04.2003, 19:44   #6
_m3
Inventar
 
Registriert seit: 24.09.2001
Beiträge: 7.335


Standard

Was für ein Feldtyp ist denn "ID" ???
Numerisch oder Text?
____________________________________
Weiterhin zu finden auf http://martin.leyrer.priv.at , http://twitter.com/leyrer , http://www.debattierclub.net/ , http://www.tratschen.at/ und via Instant Messaging auf Jabber: m3 <ät> cargal.org .
_m3 ist offline   Mit Zitat antworten
Alt 14.04.2003, 20:04   #7
Take_Five
Senior Member
 
Registriert seit: 09.06.2001
Beiträge: 138


Take_Five eine Nachricht über ICQ schicken
Standard

Numerisch
____________________________________
Nur die Übung trennt das Außergewöhnliche vom Gewöhnlichen
Take_Five ist offline   Mit Zitat antworten
Alt 14.04.2003, 20:28   #8
jonix
Veteran
 
Registriert seit: 03.08.2000
Alter: 47
Beiträge: 461


Standard

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)
____________________________________
hampel.at
jonix ist offline   Mit Zitat antworten
Alt 14.04.2003, 20:40   #9
käptn
Inventar
 
Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150


Standard

mysql_fetch_array gibt auf jeden Fall ein Array zurück.

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

~
____________________________________
LOL - Mein erstes Post im Programmier Forum

MACINTOSH - Most Applications Crash, If Not The Operating System Hangs
käptn ist offline   Mit Zitat antworten
Alt 14.04.2003, 20:41   #10
Take_Five
Senior Member
 
Registriert seit: 09.06.2001
Beiträge: 138


Take_Five eine Nachricht über ICQ schicken
Standard

na, funkt auch nicht
____________________________________
Nur die Übung trennt das Außergewöhnliche vom Gewöhnlichen
Take_Five ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:25 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag