Autor | Zpráva | ||
---|---|---|---|
eya Profil * |
#1 · Zasláno: 15. 5. 2005, 13:03:40
Ahoj lidi.
V php jsem fakt zacatecnik ale neco malicko umim. No takze k veci, dam priklad: Mam v mysql databazi redakce, v ni mam tabulku (objekt) novinky a v ni mam sloupec datum. Sloupec datum je typu datetime a v mysql jeho tvar vypada takto: 2005-02-18 22:22:22. Na strance novinky.php se spojim s databazi, vyberu z tabulky novinky, a chci vypsat to datum. Jenomze ho chci uplne v jinem formatu nez ho mam, nejlepe d.m.Y H:i:s. na Jaknaweb.net mi bylo porazeny sami blbosti takze stale nevim co mam s tim delat. udajne to ma fungovat pres funkci date_format ale taky mi to nejde. ja to delam takto: $spojeni = mysql_connect("host","databaze","heslo"); mysql_select_db(databaze, $spojeni); $vysledek = mysql_query( "SELECT * FROM tb_novinky ORDER BY id DESC LIMIT 5", $spojeni); while ($zaznam = mysql_fetch_array($vysledek) ): $datum = date_format($zaznam["datum"], "d.m.Y H:i:s"); echo "$datum"; to nefunguje a pise to chybu Call to undefined function: date_format(). diky za pomoc. |
||
Hugo Profil |
#2 · Zasláno: 15. 5. 2005, 13:14:30
Pomoci substr to rozdel na casti a znovu to spoj, tak jak potrebujes. Slo by to udelat i pomoci regularnich vyrazu, ale to by bylo zbytecne pomale.
|
||
eya Profil * |
#3 · Zasláno: 15. 5. 2005, 13:20:20
// psal jsem ze neumim nejak moc dobre s php - nevim co je to substr. mohl by si mi prosimte napsat priklad?
|
||
Hugo Profil |
#4 · Zasláno: 15. 5. 2005, 13:26:09
Staci nahlednout do manualu:
$year = SubStr ($zaznam["datum"], 0, 4); $month = SubStr ($zaznam["datum"], 6, 2); $day = SubStr ($zaznam["datum"], 9, 2); $time = SubStr ($zaznam["datum"], -8); $datum = $day.'.'.$month.'.'.$year.' '.$time; Snad tam neni chyba (netestoval sem to) |
||
Leo Profil |
#5 · Zasláno: 15. 5. 2005, 13:40:43
Nechte pracovat taky trochu MySQL:
SELECT DATE_FORMAT(datum,'%d.%m.%Y %H:%i:$S') AS mujdatum FROM novinky Nejspis si pletete funkce PHP s funkcemi MySQL Leo |
||
eya Profil * |
#6 · Zasláno: 15. 5. 2005, 14:19:44
#Leo.
ja ale z novinek netaham pouze datum, ale i dalsi sloupce. !! jak sem rikal sem v phpzacatecnik. #hugo - neni to trosku zdelseny zapis? nelze to nejak zjednodusit?? |
||
Leo Profil |
#7 · Zasláno: 15. 5. 2005, 14:22:51
No tak si tam ty dalsi sloupce pridate podle potreby ne? Treba
SELECT id, text, autor, DATE_FORMAT(datum,'%d.%m.%Y %H:%i:$S') AS mujdatum FROM novinky Leo |
||
eya Profil * |
#8 · Zasláno: 15. 5. 2005, 14:23:09
#hugo navic to funguje spatne :\
|
||
Hugo Profil |
#9 · Zasláno: 15. 5. 2005, 14:24:39
eya
Slo by to zjednodusit, ale takhle je to aspon trochu prehledne. Ale asi nejlepsi bude to reseni od Lea. |
||
Hugo Profil |
#10 · Zasláno: 15. 5. 2005, 14:25:01
eya
Muzes to nejak specifikovat?? Co to vypisuje? |
||
eya Profil * |
#11 · Zasláno: 15. 5. 2005, 14:26:08
:( proboha uz 2 dny resim tudle "prkotinu". copak nikdo nezna zpusob jak to treba jednoduse udelat na jeden radek? od Lea to asi nejde jelikoz ja beru VICE sloupcu a ne JEN to datum !
nechcete prosim napsat priklad? diky .... |
||
eya Profil * |
#12 · Zasláno: 15. 5. 2005, 14:28:28
vypisuje to toto: 4 .5-.2005 17:28:41
ale prijde mi to stejne hodne zbytecne dat to na 5 radku ... |
||
Hugo Profil |
#13 · Zasláno: 15. 5. 2005, 14:28:37
eya
Pokud chces neco delat v php, tak se to MUSIS aspon trochu naucit. Reseni od Lea funguje. Vysvetlil ti to o par prispevku vys. Ja jsem se tam jen sekl v cislech, stacilo trochu experimentovat. Spravne je to takto: <?php $zaznam["datum"] = '2005-02-18 22:22:22'; $year = SubStr ($zaznam["datum"], 0, 4); $month = SubStr ($zaznam["datum"], 5, 2); $day = SubStr ($zaznam["datum"], 8, 2); $time = SubStr ($zaznam["datum"], -8); print $datum = $day.'.'.$month.'.'.$year.' '.$time; ?> Tato diskuze IMHO neni nahrada manualu, takze zkus trochu studovat. |
||
Leo Profil |
#14 · Zasláno: 15. 5. 2005, 14:29:23
Ctete laskave co pisu, vic sloupcu jsem pred chvili poslal. A prestante se rozcilovat a misto to se naucte zaklady SQL (napriklad jak z tabulky vypsat vic sloupcu pripadne je prejmenovat). Leo
|
||
Michalek Profil |
#15 · Zasláno: 15. 5. 2005, 14:31:58
eya:
leo napsal SELECT id, text, autor, DATE_FORMAT(datum,'%d.%m.%Y %H:%i:$S') AS mujdatum FROM novinky co chces vic? |
||
Michalek Profil |
#16 · Zasláno: 15. 5. 2005, 14:33:04
jsem pomalej...
|
||
eya Profil * |
#17 · Zasláno: 15. 5. 2005, 14:34:42
jojojo diky moc lidi. a to jako musim vzdycky vypisovat vsechny sloupce ? neexistuje neco jako SELECT * date_format(datum ...) ... FROM novinky ...
? |
||
Leo Profil |
#18 · Zasláno: 15. 5. 2005, 14:49:51
Existuje, da se napsat
SELECT *, date_format() as mujdatum ale pak tam budete mit udaj o datu dvakrat (jako datum v puvodnim formatu a jako mujdatum v pozadovanem). V naproste vetsine pripadu nepotrebujete znat vsechny sloupce, a z databaze se ma tahat jen to, co potrebujete. Leo |
||
eya Profil * |
#19 · Zasláno: 15. 5. 2005, 15:05:58
"SELECT id, DATE_FORMAT(datum,'%d.%m.%Y %H:%i:%s') AS datum, zeme, nadpis, obrazek, obsah_velky, obsah_maly, odkazy, autor_jmeno, autor_nick, autor_prijmeni FROM tb_novinky ORDER BY id DESC LIMIT 5",
nefunguje to ... nevite v cem by mohla byt chyba?? |
||
eya Profil * |
#20 · Zasláno: 15. 5. 2005, 15:08:29
aha uz to funguje nize mi chybel strednik
diky lidi moc ! |
||
printf Profil |
#21 · Zasláno: 15. 5. 2005, 16:34:21
ještě bych dodal (pro ostatní), že to datum se dá v PHP formátovat elegantněji:
např: SScanF ($Datum,"%04d-%02d-%02d %02d:%02d:%02d", $Now["year"], $Now["mon"], $Now["mday"], $Now["hours"], $Now["minutes"], $Now["seconds"]); $Prepared = SPrintF ("%02d. %02d. %04d, %02d:%02d", $Now["mday"], $Now["mon"], $Now["year"],$Now["hours"], $Now["minutes"]); |
||
Časová prodleva: 2 měsíce
|
|||
CyberTom Profil * |
#22 · Zasláno: 30. 6. 2005, 11:08:24
SELECT DATE_FORMAT(datum,'%d.%m.%Y %H:%i:$S') AS datum, novinky.* FROM novinky;
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0