Stránka 1 z 2

Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 16:44
od Gizzer2
Ahoj,
nahrávám data do databáze které jsou v CSV.
Jedná se o různý počet řádků.
Potřeboval bych vypsat jen vždy jen ty poslední nahrané.
Ukládám do db i datum přidání což je sloupec datum a asi podle něj by se to dalo zobrazit ale vůbec netuším jak.

Kód pro zobrazení mám tento :

Kód: Vybrat vše

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.

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 18:41
od CrazyC0de
Říkáš poslední : napiš kolik, jinak můžeš použít MAX a pomocí toho vytahovat ID, tedy max id se vytáhne a pak jen LIMIT 5 - třeba :

Kód: Vybrat vše

 SELECT  MAX(id) FROM gamestaty LIMIT 5

Takhle by to mělo fungovat :-)

--- Doplnění předchozího příspěvku (09 Úno 2013 18:41) ---

Až ted jsem si všiml toho datumu, můžeš jej porovnávat tak jak to máš, akorát musíš doplnit LIMIT 5 - třeba

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 18:46
od CZechBoY
co je to za datum ale?

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 19:09
od Gizzer2
Je to datum vložení dat do db.
Nemohu to limitovat počtem zobrazení řádku, protože vždy je jich různý počet. Nikdy není stejný počet.
Datum vložení se může lišit ve vteřinách ale vždy by se měli zobrazit jen ty nejnovější řádky.

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 19:14
od CZechBoY
no však dáš ORDER BY datum DESC LIMIT 5
teda pokud jich chceš 5

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 19:17
od CrazyC0de
Za to svoje dopln jen to co napsal CZECHBOY- stačí jen dopsat LIMIT a počet řádků, které se mají vytáhnout..

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 19:21
od Gizzer2
Stále se nechápeme, nemohu limitovat počet řádků, když je jich pokaždé jiný počet.
Já potřebuji zobrazit nejnovější nahrané řádky. Jednou jich může být 12 pak zase jen 3 pak třeba 8.
Proto nemohu nic limitovat.

Představuji si to tak že script projede tabulku zjistí že ve sloupci datum je 8x stejný nejmladší datum tak to vypíše těch 8 nejmladších řádků. Při dalším zapsání CSV to může už být zase 12 řádků. Je to různé.

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 19:39
od CrazyC0de
Ale jak je rozeznáváš ty řádky, podle čeho ? podle jakého datumu, :-) jaký vzorec na to potřebuješ ?

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 19:44
od Gizzer2
Nechci být nezdvořilý ale čteš vůbec co tu píšu?
Jasně píšu že řádky se dají rozeznat podle datumu a sloupec datum znamená čas nahrání dat do tabulky v databázy. Takže potřebuji vzorec který projede sloupec datum a nejnovější řádky vypíše. Jen ty nejnovější žádné jiné.
Řádky nemohu limitovat protože jejich počet se pokaždé když zapíšu nové CSV liší.
V CSV jsou informace ze hry, takže proto obsahují pokaždé jiný počet řádků.
Už se chápem?
Momentálně jsem to udělal tak že při každém uploadu CSV se tabulka vymaže, takže v db zůstávají vždy jen ty nové informace.

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 20:01
od CZechBoY
tak jedině si zapsat někam čas aktualizace

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 20:05
od Gizzer2
Myslíš udělat další sloupec? Nebo jak?

Re: Zobrazení posledních nahraných řádků v databázi

Napsal: 09 úno 2013 20:12
od CZechBoY
někde si poznamenat čas vložení toho CSV
sloupec do tý tabulky je zbytečnost, spíš nová tabulka a tam si to ukládat třeba
nebo soubor, kde si vložíš jen tenhle údaj pokud nepotřebuješ mít nějaký statistiky kdy si vkládal jaký CSV...