Autor Zpráva
quickspider
Profil *
zdravím,
jsem v php začátečník. Potřeboval bych poradit jak převést datum z db v datovém typu date do českého formátování. Vypsal jsem data takto:
$novinky=Array(1=>"Kinder Surprise" , "Kobra 11", "web");

pripojeni_db();
$zaznam = 'select * from news order by datum desc';
	$vysledek = mysql_query($zaznam);
	while ($zaznam = mysql_fetch_array($vysledek)) 
	 {
		
/* Cyklem procházím řádky výsledku a vytahuju z něj hodnoty do nového pole $zaznam*/

 echo '<div class="news"><span class="news_datum"><b>'.$zaznam["datum"]."</b></span><br>\n";
 if ($zaznam["ks"]) {
 	echo "<b>".($novinky [1]).'</b><br>'.$zaznam["ks"]."<br>\n";
 }
 
 if ($zaznam["k11"]) {
 	echo '<b>'.($novinky [2]).'</b><br>'.$zaznam["k11"]."<br>\n";
}
 if ($zaznam["web"]) {
 	echo '<b>'.($novinky [3]).'</b><br>'.$zaznam["web"]."<br>\n";
}
echo "</div>";
echo mysql_error();

výsledek vypadá takto:


druhý problém je chybné zobrazení znaků z diakritikou, porovnání mám kódování na utf8_general_ci. viz. výsledek.
děkuji
hary28
Profil
na ten datum použij funkci strtotime(); a na ot kódování se podívej do FAQ
Alphard
Profil
quickspider:
Formátovat datum můžete přímo na úrovni sql pomocí funkce date_format(). Funkce strtotime() vrací timestamp, který byste musel dále upravovat pomocí date().

Na diakritiku se skutečně podívejte do FAQ, ale do vedlejší sekce (FAQ databáze).
hary28
Profil
Alphard
díky, že jsi to upřesnil.
quickspider
Profil *
Kódovani je už OK, ale s tím datem si nevím rady, jak mám upravit ten select? zkoušel jsem ho dát jako druhej, ale to je hloupost.
quickspider
Profil *
teď to mám takhle:
$zaznam ='select * from news order by datum desc, DATE_FORMAT(datum, "%d. %m. %Y")' ;
bylo by to podle mně logicky, ale nic to nezmění.
Alphard
Profil
$zaznam ='select date_format(datum, "%d. %m. %Y") datum, dalsi, sloupce from news order by datum desc' ;
quickspider
Profil *
diky moc
quickspider
Profil *
vyskytl se nový problém teď to řadi podle nového formátování, takže spatně. Potřeboval bych to třídit podle původního, ale formátovat podle českého standardu
Alphard
Profil
Já jsem tam dal alias stejný jako původní sloupec, neuvědomil jsem si, že to řadíte podle data. Změnte alias a řaďte podle původního sloupce.

$zaznam ='select date_format(datum, "%d. %m. %Y") datum_f, dalsi, sloupce from news order by datum desc'
quickspider
Profil *
už je to v pořádku, děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: