Where-Problem
Hallöchen,
ich habe diese Thematik zwar schonmal zum besten gegeben, aber die Lösung von damals funktioniert nicht richtig.
Einige vorab Infos:
Ich habe ein System in dem User Beiträge schreiben und auch Ränge zugeteilt bekommen,georndet nach Beitragsanzahl.Nun werden die Ränge aus einer DB ausgelesen,sprich man weiß nichts genaues vorher darber.
Der Aufbau meine Rangtabelle:
table=ranks
id | name | img | rows
id = Id des Ranges (auto_increment)
name = Der Name
img = Bild des Ranges
rows = Anzahl der Mindestbeiträge
Soooo, folgende Ränge habe ich jetzt in die Tabelle eingetragen
<10 - Frischling
ab 10 - Amateur
ab 25 - Fortgeschrittener
ab 50 - Profi
ab 100 - Eroberer
ab 250 - Held
ab 500 - Gigant
ab 1000 - Legende
ab 3000 - Kaiser
Mein Problem ist nun,ich habe einen User welcher exakt 364 Beiträge hat. Laut Tabelle müsste er nun Held sein.Mein Script spuckt aber Profi aus.Mit folgenden Abfragen hab ich bisher versucht das ganze zu lösen,aber wie man sieht mit mäßigem Erfolg
Lösungsansatz:
und wenn kein Datensatz gefunden wird,
Also den niedrigsten Rang (Frischling) findet er aber danach hörts irgendwie auf. Ich komm einfach nicht weiter.
Kann mir jemand dabei helfen?
Vielen dank!
ich habe diese Thematik zwar schonmal zum besten gegeben, aber die Lösung von damals funktioniert nicht richtig.
Einige vorab Infos:
Ich habe ein System in dem User Beiträge schreiben und auch Ränge zugeteilt bekommen,georndet nach Beitragsanzahl.Nun werden die Ränge aus einer DB ausgelesen,sprich man weiß nichts genaues vorher darber.
Der Aufbau meine Rangtabelle:
table=ranks
id | name | img | rows
id = Id des Ranges (auto_increment)
name = Der Name
img = Bild des Ranges
rows = Anzahl der Mindestbeiträge
Soooo, folgende Ränge habe ich jetzt in die Tabelle eingetragen
<10 - Frischling
ab 10 - Amateur
ab 25 - Fortgeschrittener
ab 50 - Profi
ab 100 - Eroberer
ab 250 - Held
ab 500 - Gigant
ab 1000 - Legende
ab 3000 - Kaiser
Mein Problem ist nun,ich habe einen User welcher exakt 364 Beiträge hat. Laut Tabelle müsste er nun Held sein.Mein Script spuckt aber Profi aus.Mit folgenden Abfragen hab ich bisher versucht das ganze zu lösen,aber wie man sieht mit mäßigem Erfolg

Lösungsansatz:
|
|
PHP-Quelltext |
1 |
SELECT * FROM `ranks` WHERE rows<=".$posts." ORDER BY rows DESC LIMIT 0,1
|
und wenn kein Datensatz gefunden wird,
|
|
PHP-Quelltext |
1 |
SELECT * FROM `ranks` ORDER BY rows LIMIT 0,1
|
Also den niedrigsten Rang (Frischling) findet er aber danach hörts irgendwie auf. Ich komm einfach nicht weiter.
Kann mir jemand dabei helfen?
Vielen dank!
Benshee
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »Benshee« (24. Juli 2005, 18:42)
Also ein error liegt nicht vor (zumindest laut mysql_error)
also eigentlich heißt das rows in meinem script auch postrows, ich wollt das nur vereinfachen.oder ist das auch reserviert?
Für alle die es Interessiert, man muss rows als INT deklarieren.
also eigentlich heißt das rows in meinem script auch postrows, ich wollt das nur vereinfachen.oder ist das auch reserviert?
Für alle die es Interessiert, man muss rows als INT deklarieren.
Benshee
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Benshee« (25. Juli 2005, 16:06)
also meine allerletzte idee wäre kleinkram:
|
|
Quellcode |
1 |
SELECT * FROM `ranks` WHERE rows<='".$posts."' ORDER BY rows DESC LIMIT 0,1 |
~!__/
..o.o
This is Einkaufswagen.
Copy Einkaufswagen into your signature to help him on his way to world domination.
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Skittles« (26. Juli 2005, 10:40)


