DATE_FORMAT

Der MySQL Datenbank-Server für Internet- und Intranet-Lösungen.

DATE_FORMAT

Beitragvon Dani » Mo 14 Apr, 2003 11:30

<HTML>Hallo zusammen

ich hab eine Datenbank mit einer Spalte "datum". Bei der Datenausgabe soll diese Spalte (typ date) formatiert werden. Dazu habe ich folgende Anweisung geschrieben:
...
$query = "select nr,bild,name,rasse,geboren,text,geschlecht, DATE_FORMAT('tabname.datum','%d.%m.%Y') from hunde ORDER by datum desc LIMIT $from, $anzahl";
...

funzt aber nicht, das Datum wird nicht formatiert.
Wer kann mir sagen, woran es liegt? Besten Dank!

gruss dani</HTML>
Dani
 

RE: DATE_FORMAT

Beitragvon mad » Mo 14 Apr, 2003 18:31

<HTML>
hm,

glaub nicht, dass da ein "tabname.datum" in den query gehoert ..
probiers doch mal ohne ...

"select nr,bild,name,rasse,geboren,text,geschlecht, DATE_FORMAT(datum,'%d.%m.%Y') from ..."

denn
mysql> select DATE_FORMAT(datum, '%d.%m.%Y') from foo;
+--------------------------------+
| DATE_FORMAT(datum, '%d.%m.%Y') |
+--------------------------------+
| 14.04.2003 |
| 14.04.2003 |
| 14.04.2003 |
+--------------------------------+
3 rows in set (0.00 sec)

funkt ohne problems ..

mfg,
mad.

</HTML>
mad
 

RE: DATE_FORMAT

Beitragvon Dani » Mo 14 Apr, 2003 19:48

<HTML>rehi

ich habs mal so versucht, aber bei mir werden gar keine Datensätze angezeigt, wenn ich es so versuche. Liegts vielleicht an was anderem? Ich hab mal ein bisschen mehr des Scripts kopiert:
<?
$anzahl = 4; // Anzahl Einträge pro Seite
// anfang:
if(!$from)
{
$from = 0; // wenn kein anfang uebergeben wird, nimm 0 als anfang
}
if(!$seite)
{
$seite = 1; // wenn kein anfang uebergeben wird, nimm 0 als anfang
}
//db connect

include("db_connect.inc");

$link = mysql_connect ("$dbhost", "$dbuser", "$dbpasswd")
or die ("Keine Datenbankverbindung moeglich. Bitte versuchen Sie es noch einmal");
mysql_select_db($dbname,$link);

// anzahl auslesen: (ginge wohl auch mit einem *select count...*)
$query4 = "select * from hunde";
$result4 = mysql_query($query4,$link);
$anzahl_total = mysql_numrows($result4);

// augabe daten auslesen
$query = "select nr,bild,name,rasse,geboren,text,geschlecht DATE_FORMAT(datum,'%d.%m.%Y') from hunde ORDER by datum desc LIMIT $from, $anzahl";
$res_data = mysql_query($query,$link);
$anzahl_seite = mysql_numrows($res_data);

// wieviele seiten?
$seiten_total = ceil($anzahl_total / $anzahl);
?>
html
<? // ausgabe:

if ($anzahl_total==0)
echo "<p align=\"center\"><font face=\"Arial\" size=\"2\"><b>Momentan sind keine Einträge vorhanden<p align=\"center\"><a href=\"../tiere.htm\" target=\"_self\">Zurück zum Index</a></b></font>";

for ($i = 1; $i <= $anzahl_seite ; $i++)
{
$data = mysql_fetch_array($res_data);?>
html...
<? print $data['nr'];?>
<? print $data['bild'];?>
<? print $data['datum'];?>
etc.

gruss dani</HTML>
Dani
 

RE: DATE_FORMAT

Beitragvon mad » Mo 14 Apr, 2003 20:12

hmm ..

> // anzahl auslesen: (ginge wohl auch mit einem *select count...*)
> $query4 = "select * from hunde";
> $result4 = mysql_query($query4,$link);
> $anzahl_total = mysql_numrows($result4);

aeh .. das ging nicht nur "auch" mit nem select count(*) sondern das
solltest du auch so mit nem count() machen ..

das mag bei 20 hundchen in dem table nicht sonderlich auffallen ..
bei 20mio aber schon, glaubs mir ;-)

und zu deinem problem ..

also ich bin da jez nicht grad der $php-expert
das muss sich wer anders anschaun, aber ..

aber ich hoffe mal, dass da im query zwischen "geschlecht" und dem "DATE_FORMAT(..."
ein "," is .. oder? ... sonst muesst dir die mysql ja beliebige fehlermeldungen an den hals werfen ..

mfg,
mad.
mad
 

RE: DATE_FORMAT

Beitragvon dani » Mo 14 Apr, 2003 20:44

<HTML>hab den fehler mittlerweile gefunden, richtig muss es heissen:

$query = "select nr,bild,name,rasse,geboren,text,geschlecht,DATE_FORMAT(datum,'%d.%m.%Y') AS datum from hunde ORDER by datum desc LIMIT $from, $anzahl";

das mit dem komma war natürlich auch richtig, dort gehört eins hin :o)</HTML>
dani
 


ZurĂĽck zu MySQL

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 12 Gäste