Autor Zpráva
Rionela
Profil
Mám formulář pro seřazování:

echo"<form name=vrub method=post action=index.php?page=predl&id=$id&podle=$podle&jak=$jak>
podle
<select name=podle>
<option value="pre_date" selected>data vložení
<option value="pre_pocet">počtu stažení
<option value="pre_obtiz">obtížnosti
</select>
jak
<select name=jak>
<option value="DESC" selected>sestupně
<option value="ASC">vzestupně
</select>
<input type=submit value=Seřadit name=tlacitko>
</form>";

a když sařadím třeba takto: index.php?page=predl&id=2&podle=pre_pocet&jak=ASC
dle dotazu:

mysql_query("select * from predlohy where pre_kateg = '$id' order by $podle $jak limit $od, $kolik");

tak se to sice seřadí ale počet stažení je např takovýto:
101
106
1108
125
1298

... prostě to nedbá na to, jestli je to stovka nebo tisícovka ale na první číslo a na druhé číslo atd atd... Co ted?
Beduin
Profil *
Nejspíš máš v databázi ty čísla uložené jako text nebo varchar. Musíš je mít uložené jako int.
Mika
Profil
Rionela
Ono zalezi, jestli jsou ty hodnoty ulozeny ve sloupci STRING (retezec), nebo INT (cislo), pravdepodobne to mas na retezci, takze to serazuje jako slova, nikoli jako cisla. Takze proste zmen datovy typ toho sloupce z VARCHAR, nebo co to mas na INTEGER

Jinak by se hodilo pouzivat globalni promenne (tady konkretne $_GET)

a option je snad parovy tag. Nemel by se uzavrit?? :-P
Rionela
Profil
jo díky už to funguje, měla sem tam varchar;)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0