Hoi,

Ik ben bezig met een hoogste score lijst te maken en die werkt aardig alleen klopt er 1 ding nog niet.
Hij moet de score van hoog naar laag laten zien (er zijn meerdere spelers).

Als de score van speler 1 bijv. 300 is en van speler 2 bijv. 450 is laat hij netjes 450 zien als hoogste score.

Maar is de score van speler 1 bijv. 300 en van speler 2 bijv. 2950 dan zegt hij dat speler 1 bovenaan staat.

Het lijkt wel of hij dan sorteerd op het eerste getal, echter moet hij het hele getal berekenen.

De query die ik gebruik is:

$result = mysql_query("SELECT * FROM e107_tournaments_plays where tournament_id = $bereken ORDER by score DESC");

Iemand enig idee wat ik fout doe?

Gr. Kees.
Dan zal je wel VARCHAR hebben gebruikt in de database en geen INT.
Laat me raden, je score veld is van het varchar of char type. In dat geval ga je het nooit goed krijgen. Maak er een int (smallint, tinyint, wat dan ook) van, dan werkt het prima.
Ik heb het veranderd en nu werkt het eigenlijk wel goed alleen rond hij de getallen nu ook af.

Ik heb bepaalde games met scores van bijv. 300.11 en 642.56 etc.
Hij haalt nu de .XX weg zeg maar.

Is daar ook nog wat aan te doen?

Gr. Kees.
Ik heb het gelezen en ik heb nu decimal gekozen ipv int.
Echter nu heb ik nog hetzelfde effect.

De scores zijn een mix van gewoon een paar getallen en met getallen achter de komma (punt).
Als voorbeeld:

230
2490
600.11
7067
80345.09
16

Dat zijn allerlei verschillende scores (per game wordt een bepaalde type score gemaakt).
Hoe kan ik dat nu het beste uitlezen? :P

Gr. Kees.
Staat het ook zo in de database. Dus geen komma maar een punt?
Dan moet die query het gewoon doen lijkt mij.
Echt een punt ja, geen komma.
Bij varchar deed hij dat netjes maar bij int en decimal doet hij dat niet, dan rond hij het af (hij hakt .XX eraf zeg maar, en dat moet hij eigenlijk niet doen :P).

Gr. Kees.
Hoe heb je die DECIMAL nu staan?
En oude gegevens zijn reeds afgerond door de INT. Worden nieuw ingegeven waarden ook afgerond?
Dit zie ik nu staan:

decimal(10,0)
Nieuwe gegevens worden verstuurd zonder afronding maar worden nog steeds afgerond.

Gr. Kees.
Kees van Norde op 24/07/2013 14:09:40

Dit zie ik nu staan:

decimal(10,0)


Het tweede getal is het aantal cijfers achter de komma.
Bij jou dus NUL.

Reageren