Chtěl bych vypsat přízpěvky z knihy návštěv od nejnovějšího k nejstaršímu. Zkoušel jsem to různě podle knih, ale nejde to. Je to moc složité (na mě). Pokud by mi někdo poradil, tak mu script pošlu. Předem díky.
V MySQL k tomu slouží klauzule ORDER BY. Tedy například:
SELECT id, datum, autor, prispevek FROM kniha ORDER BY datum DESC
"ORDER BY datum" znamená, že výsledný SELECT se seřadí podle sloupce "datum". DESC dodává, že se má řadit sestupně - od největšího (nejnovějšího) data k nejmenšímu (nejstaršímu).
Naopak ASC říká, že se má řadit vzestupně, ale to není třeba psát, protože je defaultní.
Dá se řazení ještě "upřesnit" dalšími sloupci pro případ shody data.
např.: "ORDER BY datum DESC, autor ASC" Nejprve řadí podle data sestupně a v případě shody data podle jména autora vzestupně.
Pokud chceš dá se místo datumu použít k seřazení i id (jestli ho ta máš)
2Mike
cituji: "Chtěl bych vypsat přízpěvky z knihy návštěv od nejnovějšího k nejstaršímu."
Vloudil se mi tam šotek do slůvka přízpěvky, ale to neva. Opět to píšu do souboru a né do databáze. Ale ta by byla si lepší, že? Asi se to budu muset naučit. Kouknu se nejdřív na net a pak se uvidí.
Jestli to píšeš do souboru, pak si musíš řazení napsat sám. Stačí natáhnout řádky souboru do nějakého pole a pak je setřídit podle položky datum. Jednoznačně je nejlepší mít datum jako unixový timestamp.
Jinak by ale samožejmě databáze byla lepší a hlavně jednodušší...
Pavel: jelokož id pořád narůstá lze ho použít pro srovnání místo datumu
2Mike: A na to se budeš opravdu spoléhat?!
Stejně s každým příspěvkem ukládá jeho datum, aby jeho informační hodnota k něčemu byla. Proč potom řadit podle id, když datum je spolehlivější a rozhodně logičtější? Neříkám, že to nemůže fungovat, ale...
No ale jak mám vložit položky do pole? Zkoušel jsem to, ale to bych musel zapsat i znaky <?php ?> a ty mi to nevezme. Zkoušel jsem to. Teď je to udělané hloupě, že se to formátuje do tabulky. Na to pole jsem taky myslel, ale fakt mi to nešlo.
Ten zdroják co formátuje text před zapsáním do souboru vypadá takhle:
if (($akce=="add") && ($Jmeno!="") && ($Popisek!="")) {
$fp=FOpen("paci/odka/odka.$Rubr","a");
FPutS($fp,"
<DIV ID='odstavec'>
<DIV ID='menu_nadpisy'>
<H1>$Jmeno</H1>
<DIV ID=\"odkazy\"><P CLASS=\"datumovka\">Přidáno: ".Date("j.n.Y")."</P></DIV>
</DIV>
<P><TABLE BORDER=0 WIDTH='550'>");
FPutS($fp, "
<TR><TD>".NL2BR(HTMLSpecialChars($Popisek))."</TD></TR>");
FPutS($fp, "
<TR><TD>Adresa: <A CLASS='index3' HREF='$Web'>$Web</A></TD></TR>
</TABLE></P>
</DIV>
"); ...
Má to ještě tu nevýhodu, že se to později nedá editovat, což by šlo kdyby to bylo v poli. Jak mám tedy udělat zápis do pole? Jinak je to upravená kniha návštěv z www.jaknaweb.com a teď je to předělané na přidávaní odkazů.