Autor Zpráva
Gambac10
Profil *
Ahoj, prosím o radu pro začátečníka.

Chci vypsat z databáze 5 posledních záznamů. Použil jsem:

for($list; $list < 5; $list++){
print...;
}

Jak asi správně tušíte, dostanu výpis všech záznamů v DB, přičemž každý záznam se zobrazí 5x. Jak tedy docílit toho, aby se mi zobrazilo jen 5 posledních záznamů z DB, každý jedenkrát?

Díky,
Honza
Ben
Profil *
Pouzij while a del do sql dotazu limit treba nejak takto
$result = mysql_query("SELECT * FROM tabulka LIMIT 5");
while($radek = mysql_fetch_assoc($result)){
  echo"$radek["sloupec"]";
}  
Radek9
Profil
Ben:
Ale fuj, proč dáváš proměnnou do řetězce? Navíc to máš špatně.
Ben
Profil *
Radek9:
Jenže toto je jen příklad! Když to mám špatně, tak máš určitě lepší návrh. Jestli ne. Tak tyto tvé příspěvky jsou k ničemu.
Medvídek
Profil
Gambac10:
$result = mysql_query("SELECT sloupec FROM tabulka ORDER BY id DESC LIMIT 5");
while($radek = mysql_fetch_assoc($result)){
  echo $radek["sloupec"];
}
Gambac10
Profil *
Díky za rychlou pomoc! :-)
Radek9
Profil
Ben:
Já myslel, že si toho všimneš, že se ti tam kříží stejné uvozovky. Nehledě na to, že je to opravdu prasárna. Já vím, PHP není zrovna čistý jazyk a je k hodně věcem až přehnaně tolerantní, to ale neznamená, že by se člověk neměl snažit to čistě psát.
Knight
Profil
Radek9:
Proč je prasárna dávat proměnné do uvozovek?
Ben
Profil *
Radek9:
Toto byl jen příklad. On si to samozřejmě doplní a upraví podle sebe. Šlo jen o postup jak udělat danou věc. Uvozovky tam byly nechané, protože jsem to kopíroval z nějakého mého napsaného kódu a jen jsem umazal věci okolo. Pravdou však je, že to co je v uvozovkách se má zpracovávat o něco déle. Ovšem pro takovýto projekt to bude zcela zanedbatelné. Pokud však prokážeš, že to něčemu vadí, zveřejni mi prosím tuto informaci, rád se poučím.

Děkuji
Alphard
Profil
Ben:
Když už vytahujete staré vlákno, je to fakt prasárna. Právě proto, že je to příklad pro lidi, kteří tomu nerozumí, bylo by vhodné psát to "hezky".
Navíc kód v [#2] je špatně, takto se v řetězci k poli nepřistupuje.

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