Ik ben bezig met een soort koop script, waarbij je wapens kan kopen voor mijn RPG. Daarbij word gesorteerd op de hoeveelheid de aanval heeft.

DUs ik heb ditte:
mysql_query("SELECT * FROM rpg_wapens WHERE type = 'atk' AND anime = 'all' OR anime = '".$anime."' ORDER BY atk ASC");

Maar het probleem is, is dat hij alleen naar het 1e cijfer kijkt...

Dus als je dit hebt
2200
5
10
4673

Dan krijg je dit:

10
2200
4673
5

Maar dat wil ik dus niet :S...

Ik wil dit krijgen:
5
10
2200
4673


Hoe moet dit met mysql? Of kan dit gewoon niet :(??
Zijn het allemaal ints?
Dan zou het moeten kloppen ...
Het zijn varchar's...

Ik zou het kunnen veranderen naar int's, maar wat is daar de max lengte van?
max lengte van ints is 11

dus bijvoorbeeld:

12345678902
Jah :D
Edit : denk maar eens aan ORDER BY id, die gaat dan toch ook goed? 1 2 3 4 5 of 5 4 3 2 1 ...
Ok, dat heb ik maar gedaan...

Ik had eerst maxlength op 20 gezet, maar aangezien een aanval van 99999999999 toch (bijna) onmogelijk is om te halen, is dat ook wel goed :D:P

De reden dat bij een varchar de 10 voor 9 staat ;) (oplopend)

is dat 1 eerder in het alfabet voorkomt dan 9.

Dit is op te lossen door int te gebruiken. Wat de getalen op volgode zet. ;)

Reageren