Autor | Zpráva | ||
---|---|---|---|
jouhan Profil * |
#1 · Zasláno: 4. 8. 2011, 10:20:48
Dobré ráno,
Jak nadpis uvádí, mám problém s řazením nejčtenějších článků na mém webu. Můj kod vypadá takto: <?php $sql = MySQL_Query("SELECT title,count FROM clanky ORDER BY count ASC LIMIT 5"); while ($row = MySQL_Fetch_Array($sql)) { echo"<div> <ul> <li><a href=\"/clanek/".$row["id"]."\">".$row['title']."</a> - ".$row['count']."x </li> </ul> </div>"; } ?> |
||
Ugo Profil * |
#2 · Zasláno: 4. 8. 2011, 10:24:17
nevím v čem přesně máš problém ale řek bych že count bude rezervované slovo
MySQL_Query("SELECT `id`,`title`,`count` FROM `clanky` ORDER BY `count` ASC LIMIT 5"); btw. k čemu fetch_array? proč ne assoc |
||
jouhan Profil * |
#3 · Zasláno: 4. 8. 2011, 10:41:19
Mám problém, že se mi to neseřazuje od největšího po nejmenší číslo v sloupci count. Teďkon se to nějak seřadí, ale vůbec to neodpovídá jak by mělo.
Mám: <?php $sql = MySQL_Query("SELECT `id`,`title`,`count` FROM `clanky` ORDER BY `count` ASC"); while ($row = MySQL_Fetch_assoc($sql)) { echo"<div> <ul> <li><a href=\"/clanek/".$row["id"]."\">".$row['title']."</a> - ".$row['count']."x </li> </ul> </div>"; } ?> |
||
Ugo Profil * |
#4 · Zasláno: 4. 8. 2011, 10:45:34
zkus nahradit ASC za DESC
|
||
jouhan Profil * |
#5 · Zasláno: 4. 8. 2011, 10:50:48
to sem zkoušel, výsledek je podobný
clanek1 - 9x clanek2 - 85x clanek3 - 81x clanek4 - 78x clanek5 - 78x |
||
PostCC Profil |
#6 · Zasláno: 4. 8. 2011, 10:56:39 · Upravil/a: PostCC
Tohle ale vypadá, jako když sloupec COUNT je datový typ VARCHAR nebo jiný řetězcový. Předpokládám, že v něm máte uvedeno doslova např. "85" jako řetězec. To je samozřejmě špatně. Počet přečtení by měl být z logických důvodů INT nebo adekvátní datový typ. Pak bude řazení fungovat.
|
||
jouhan Profil * |
#7 · Zasláno: 4. 8. 2011, 11:01:28
PostCC:
Děkuji sloupec byl opravdu typu varchar, teďkon už to funguje jak má. Díky moc :) |
||
Časová prodleva: 13 let
|
0