Autor Zpráva
jonáš
Profil
Jak se da zjistit datum posledni aktualizace mysql tabulky nejakym sql prikazem?
vim ze to jde, je to napsano v phpMyAdminu...
dekuju, jonas
halogan
Profil
Tak se koukni do PHP souboru v phpMyAdminovi
jonáš
Profil
a nevis kterej to muze byt?
je jich tu opravdu hodne..
j
llook
Profil
PMA to dělá přes SHOW TABLE STATUS, viz http://dev.mysql.com/doc/mysql/en/show-table-status.html
jonáš
Profil
nejak asi nevim, jak to pouzit, napsal jsem tohle:
$stat=mysql_query("SHOW TABLE STATUS FROM nazev_db LIKE nazev_tabulky;");
print_r($stat);

..ale nevypisuje to nic.
j
llook
Profil
Ten název tabulky musí být v apostrofech ('nazev_tabulky'), protože tady není brán jako identifikátor, ale jako řetězec.
S výsledkem pak nakládej jako s jakýmkoli jiným resultsetem:
$result = mysql_query("SHOW TABLE STATUS LIKE '$nazev_tabulky'");

if ($row = mysql_fetch_assoc($result)) {
print_r($row);
}


Jestli máš vybranou databázi mysql_select_db(), tak můžeš vynechat FROM. A když vynecháš i LIKE, tak to vybere všechny tabulky v databázi.
jonáš
Profil
dekuju, ted to funguje dobre.
jon
jonáš
Profil
ted mi jeste prosim poradte, jak ten cas zformatovat.
Vypada totiz nejak takhle: 2005-10-09 14:32:02
existuje funkce strftime(), ale te se predava cas jako pocet sekund od 1.1.1970...
Kajman
Profil *
Asi to budeš muset rozřezat přes substr a předhodit funkci mktime.
jonáš
Profil
Presne tak uz jsem to udelal.
jednoduseji to asi nejde.. nevadi.
jon
Leo
Profil
Zkuste neco jako strtotime, a date, Leo
kaifman
Profil
date_format()
hans
Profil *
já to řeším takhle, místo té mezery v případě prázdného datumu si tam můžeš dát prázdný řetězec, já to takto používám z toho důvodu, že datum cpu do tabulek a potřebuji tam mít nějakou hodnotu


function MyDate($date_in,$length)
//-- parametr $length = L - datum a cas / = S - pouze datum
{
if ($date_in=='0000-00-00 00:00:00'):
$date_out=" ";
else:
if($length=="L"):
$date_out=date("d.m.Y H:i:s",strtotime ($date_in));
else:
$date_out=date("d.m.Y",strtotime ($date_in));
endif;
endif;
return $date_out;
}
llook
Profil
Date_format je SQL funkce a v příkazu show table status se použít nedá. Nejlepší je ten datum převést na timestamp PHP funkcí strtotime() a ten timestamp si pak už naformátovat funkcí date(), jak píše Leo.

echo date('d. m. Y H:i:s', strtotime($row['Update_time']));
jonáš
Profil
Dekuju vsem, uz to mam hotovy.
jon
Toto téma je uzamčeno. Odpověď nelze zaslat.

0