Autor | Zpráva | ||
---|---|---|---|
pavuk Profil |
#1 · Zasláno: 18. 6. 2011, 22:53:52 · Upravil/a: pavuk
Dnes jsem se začal učit jak na databáze. Od rána se v tom hrabu, nebudu ani zmiňovat kolik jsem toho přečetl na linuxsoftu, jpw, php.netu, než jsem vůbec rozchodil databáze na localhostu a dosáhl krátkýho funkčního skriptu. Už se v tom ale ztrácím. Potřebuju vypsat datum ve formátu dd-mm-yyyy, ale nevím jak na to. Pokusil jsem se už asi o dvacet různých způsobů jak do $zaznam['nastup'] doplnit %d.%m.%Y, ale nic... vždycky skončí chybou syntaxe, a to jsem zkusil snad všechno. Pořád vypisuje např. 2015-01-20.
Jak dosáhnout datumu ve zmíněným formátu? nebo dělám chybu někde úplně jinde? <?php $spojeni = mysql_connect("127.0.0.1","root","heslo") or die (" <p>Spatne zadane udaje</p> "); mysql_select_db("pokus", $spojeni) or die ('Spatne zadana databaze - ' . mysql_error()); mysql_set_charset("utf8"); echo "<table>"; $vysledek=mysql_query('SELECT * from pokusna'); while ($zaznam=MySQL_Fetch_Array($vysledek)) echo "<tr><td>".$zaznam['jmeno']." ".$zaznam['prijmeni']."</td><td>".$zaznam['email']."</td><td>".$zaznam['nastup']."</td></tr><br>\n"; echo "</table>\n"; ?> |
||
Alphard Profil |
#2 · Zasláno: 18. 6. 2011, 23:12:34
Jsou v podstatě dvě možnosti
1. můžete/jste ochoten upravit dotaz, pak stačí SELECT *, date_format(nastup, '%H %k %I %r %T %S %w') from pokusna Konkrétní zástupné znaky na http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-format 2. Dotaz nebudete měnit a necháte to na php, kombinace strtotime() a date() (pokud máte verzi 5.3, exitují i jiné možnosit). |
||
pavuk Profil |
#3 · Zasláno: 18. 6. 2011, 23:18:40 · Upravil/a: pavuk
Já se to učím teprve od osmi od rána a mám toho v hlavě tolik, že se v tý odpovědi vůbec nedokážu zorientovat... doufal jsem že jen přidám do výpisu $zaznam['nastup'] nějakým způsobem znaky pro den-měsíc-rok a bude to, tohle je na mně ale aktuálně příliš... přesto díky
edit:verzi mám 5.3.2 |
||
pavuk Profil |
#4 · Zasláno: 19. 6. 2011, 09:17:46 · Upravil/a: pavuk
Alphard:
Zkusil jsem stejně i s různejma obměnama postup podle 1., ale pořád to končí chybou, např. při zápisu podle [#2] Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in E:\php\databaze\databaze.php on line 14 kde řádek 14 odpovídá řádku 9 z [#1]nebo při vynechání apostrofů v dotazu Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in E:\php\databaze\databaze.php on line 15 kde řádek 15 odpovídá řádku 10 z [#1] Už do toho koukám tak dlouho že jsem z toho naprostej jelen... Rada 2. je pro mě v mých začátcích absolutně nezkonstruovatelná, pořád a pořád chyby syntaxe, takže se nikam nepohnu. |
||
Rellik Profil |
#5 · Zasláno: 19. 6. 2011, 17:51:36
No já to řešil před chvilkou.
v tabulce mám buňku s názvem "datum" a do ní ukládám čas ve fotmátu yyyy.mm.dd. Jinak měl sem stejný problém s tím "předatováním". Když sem poslal datum např 12.6.2011 tak to uložilo 2012.06.20 - musel sem změnit pořadí ukládání do tabulky, aby se to uložilo ve formátu yyyy.mm.dd pak stačí výpis z DB udělat tak: $vypis = mysql_query("SELECT *, extract(day from datum) as 'den', extract(month from datum) as 'mesic', extract(year from datum) as 'rok' FROM kalendar order by datum"); while($row = mysql_fetch_array($vypis)) { echo $row["den"].'.'.$row["mesic"].'.'.$row['rok'].'<br />'; } |
||
Časová prodleva: 4 měsíce
|
|||
brick_top Profil * |
#6 · Zasláno: 18. 10. 2011, 14:07:55
Taky jsem toto ted řešil. Potřeboval jsem vypsat z db datum ve formátu D.M.RRRR a akce (příslušející tomuto datu). Tabulka má sloupec id, datum, popis. Datum ma format sloupce date, protože když vkládám danou akci tak používám fci NOW(), která mi to uloží ve formátu RRRR-MM-DD. No u PHP i MySQL verze 5.x jsem to nakonec udělal takto:
$sql = 'SELECT date_format(datum,\'%e.%c.%Y\') as datum, popis FROM novinky'; $q=mysql_query($sql, $spojeni); while ($r=mysql_fetch_array($q)) { $datum = $r['datum']; $popis = $r['popis']; echo '<li>'.$datum.' - '.$popis.'</li>'; } Snad se to bude hodit. |
||
Časová prodleva: 13 let
|
0