Zobrazení posledních nahraných dat v databázi
Ahoj,
nahrávám data do databáze které jsou v CSV.
Jedná se o různý počet řádků.
Potřeboval bych vypsat vždy jen ty poslední nahrané.
Ukládám do db i datum a asi podle něj by se to dalo zobrazit ale vůbec netuším jak.
Kód pro zobrazení mám tento :
SELECT `confid`, `teamid`, `Period`, `Time`, `Goal`, `Team`, `Name`, `Note`, `datum` FROM `gamestaty` where confid=$confid order by datum desc
Teď to zobrazuje všechny řádky v db seřazené podle datumu.
A já potřebuji zobrazit jen poslední nahrané řádky.
Děkuji za radu.
www.w3schools.com
jsem databázista a vubec nedokazi poradit, neb moc nerozumim dotazu, a:
a) jak se lisi datum od posledniho nahrani?
b) nemá to primarní klíč na kterém je autoincrement, když se to insertuje?
Musíš to podle něčeho order by, bud tam ten sloupec máš, nebo nemáš. (nebo to máš v Oracle a zapnuté ROWDEPDENDENCIES... či znásilníš nějakou featuru, která k tomu neslouží)
Datum je poslední přidání, viz. obrázek
Poslední příspěvky jsou 2013-02-09 12:17:45 tak bych potřeboval vypsat všechny ty nejnovější.
teamid má autoincrement
Už tuším, co je cílem, ale chybí tam ještě nějaké informace jak definuješ nejnovější - TOP 10, od jistého data apod.
Protože pokud nejnovější definuješ podle datumu, pak tam bude WHERE > dnes-3 dny.
Pokud to nefinujeě jako posledních 10 příspěvku tak jsi to udělal správně - seřadil jsi to od nejnovějšího a následně to musíš OMEZIT a to bude na základě datumu a nebo počtu - a v tom případě použil LIMIT 10 pro Mysql a obalený select s WHRE ROWNUM<11 pro Oracle. Čekám, že máš MySQL, tedy co TI chybi je podle mne znát klauzuli LIMIT - kolik chces zaznamu (a v pripade ze sou serazeny je to TOP poslednich 1O)
za autoincrement se omlouvam myslel jsem, že je nějakej problém s tim, že nefunguje to datum - poslední vložení či posledni update. Slepá cesta imho.
Toto:
funguje přesně jak má.