Zadejte hledaný výraz...

Zobrazení posledních nahraných dat v databázi

Michales
verified
rating uzivatele
(5 hodnocení)
9. 2. 2013 13:41:19
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 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.
9. 2. 2013 13:41:19
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864340
David Musil
verified
rating uzivatele
(69 hodnocení)
9. 2. 2013 13:52:11
Když za desc přidáte LIMIT 5 - tak to vypíše pět posledních
9. 2. 2013 13:52:11
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864339
ten datum je cas pridani ?
---------- Příspěvek doplněn 09.02.2013 v 14:19 ----------
jina bych volil dalsi sloupecek ktery by oznacoval posledni pridane polozky
9. 2. 2013 14:18:32
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864338
Michales
verified
rating uzivatele
(5 hodnocení)
9. 2. 2013 14:30:39
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ší.
9. 2. 2013 14:30:39
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864337
David Musil
verified
rating uzivatele
(69 hodnocení)
9. 2. 2013 15:15:36
Napsal Michales;907099
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ší.
tak si zjistis datum pridani posledni polozky, treba pomoci ORDER BY id DESC a pak vypises vsechny ty, ktere obsahuji ve sloupci datum tuto hodnotu
9. 2. 2013 15:15:36
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864336
Michales
verified
rating uzivatele
(5 hodnocení)
9. 2. 2013 15:25:15
Nevím jak je to přesně myšleno ale zkusil jsem toto:
SELECT `confid`, `teamid`, `Period`, `Time`, `Goal`, `Team`, `Name`, `Note`, `datum` FROM `gamestaty` where confid=$confid group by datum order by teamid desc
A to je špatně, vypíše to jen dva řádky a to ještě obojí datum přidání jeden řádek mladší a druhý starší.
9. 2. 2013 15:25:15
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864335
tallpa
verified
rating uzivatele
(4 hodnocení)
9. 2. 2013 15:27:59
SELECT `confid`, `teamid`, `Period`, `Time`, `Goal`, `Team`, `Name`, `Note`, `datum` FROM `gamestaty` where confid=$confid ORDER BY datum DESC LIMIT 0,5
9. 2. 2013 15:27:59
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864334
Michales
verified
rating uzivatele
(5 hodnocení)
9. 2. 2013 15:35:20
SELECT `confid`, `teamid`, `Period`, `Time`, `Goal`, `Team`, `Name`, `Note`, `datum` FROM `gamestaty` where confid=$confid ORDER BY datum DESC LIMIT 0,5
Tam je limit 5 řádků, což nepotřebuji protože se počet řádků vždy liší. Potřebuji zobrazit jen ty nejnovějši přidané řádky.
9. 2. 2013 15:35:20
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864333
James_Scott
verified
rating uzivatele
(7 hodnocení)
9. 2. 2013 17:25:51
Já bych si zjistil aktuální datum, vložil ho do přoměnné $date,dále vytvořil druhou s datumem -1 den ($date2) a pak v podmínce použil ...WHERE datum BETWEEN $date_AND $date2 ORDER BY datum DESC
9. 2. 2013 17:25:51
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864332
Co znamená "nejnovější" a "poslední"? Jak je poznáte jako člověk?
9. 2. 2013 17:49:02
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864331
Michales
verified
rating uzivatele
(5 hodnocení)
9. 2. 2013 18:37:54
Jako člověk datum nikdo nevidí, člověk musí vidět jen ty nově nahrané informace.
Možná se teď zeptám úplně blbě ale je možné že před nahráním dalšího souboru CSV by se tabulka vymazala?
Tím pádem by bylo vše vyřešené.
Mám formulář do kterého vložím CSV a kliknu na odeslat a v tom by se smazala tabulka a hned se nahráli nové informace.
Tímto scriptem nahrávám CSV na web:
if (isset($_FILES) && $confid>0)
{
$slozka = "gamestaty/confid=$confid"; // Zde si napi‘te svojí složku, do které se budou soubory ukádat (bez lomítka)
$cil = $slozka . "/" .$_FILES; // Toto je proměnná $cil, která obsahuje adresář, kde se má soubor uploadovat a taky název souboru.
$nazev_souboru = $_FILES; // Zjistí dočastné umístění souboru
$copy = move_uploaded_file($nazev_souboru, $cil) // A tady zkopíruje soubor z dočastného umístění do cílového souboru a složky
or die ("Přenesený soubor nelze zkopírovat"); // A pokud se nepovede, tak vypí‘e tuto hlá‘ku
chmod ($cil, 0777); // Je‘tě na soubor vyhodíme funkci chmod, která změní jeho práva na maximum, pokud by soubor psal chybu změňte 0644 na 0777
// do této chvíle se řešil upload souboru
if($copy == true) //pokudp roběhl uspěšně zapisujeme do databáze
{
include "settings.php";
$confid=(int)$_GET;
$stats="gamestaty";
$datum=date("Y-m-d-H-i-s");
$filename=$cil;
$handle = fopen("$filename", "r");
while (($data = fgetcsv($handle, 1000, ',')) !== FALSE) // cyklus který prochází jednotlivé řádky CSV souboru
{
// i pro multi-byte (napr. UTF-8)
$prevodni_tabulka = Array(
"'"=>"_"
);
$upraveny_text = strtr($data, $prevodni_tabulka);
If($data=='Note' || !isset($data) )
continue;
{
$import2="INSERT INTO $stats (confid,teamid,Period,Time,Goal,Team,Name,Note,datum) VALUES ('$confid', '$teamid','$upraveny_text', '$data', '$data', '$data', '$data', '$data', '$datum' ) ";
mysql_query($import2) or die(mysql_error());
}
}
fclose($handle);
print "Výsledek úspěšně zapsán";}
}
?>
9. 2. 2013 18:37:54
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864330
Registrace
verified
rating uzivatele
(1 hodnocení)
9. 2. 2013 18:42:40
Tak tam prostě před insert nových dat dej dotaz na smazání dat.
mysql_query("DELETE FROM $stats");
Toto hoď mezi řádek s $filename=$cil; a $handle = fopen("$filename", "r");
9. 2. 2013 18:42:40
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864329
Michales
verified
rating uzivatele
(5 hodnocení)
9. 2. 2013 18:55:15
Jo to vím jak :D vyzkoušel jsem to a funguje to. Takže děkuji za veškeré rady.
---------- Příspěvek doplněn 10.02.2013 v 10:55 ----------
Nakonec vyřešeno takto:
SELECT * FROM gamestaty WHERE datum = ( SELECT datum FROM gamestaty WHERE confid=$confid ORDER BY datum DESC LIMIT 1 ) order by Period,Time ASC
Je to přesně tak jak jsem chtěl.
9. 2. 2013 18:55:15
https://webtrh.cz/diskuse/zobrazeni-poslednich-nahranych-dat-v-databazi/#reply864328
Pro odpověď se přihlašte.
Přihlásit