Autor Zpráva
jouhan
Profil *
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 *
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 *
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 *
zkus nahradit ASC za DESC
jouhan
Profil *
to sem zkoušel, výsledek je podobný

clanek1 - 9x

clanek2 - 85x

clanek3 - 81x

clanek4 - 78x

clanek5 - 78x
PostCC
Profil
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 *
PostCC:
Děkuji sloupec byl opravdu typu varchar, teďkon už to funguje jak má. Díky moc :)

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0