daten auslesen ..

Betty31

Mitglied
es wurde in der Datenbank folgende werte eingetragen
von, bis als int (4) (Das ist ein Datum soll unabhängig vom Jahr sein))eingetragen ich versuche diese Werte auszulesen..das Format ist zwar richtig ...es kommt aber nur eineinziges Datum raus... jede Hilfe willkomen denn ich bin ein Anfänger.....

01.January 01.January 52.00
01.January 01.January 56.00
01.January 01.January 52.00
01.January 01.January 60.00




$result="SELECT preis, date_format(von,'%m %d') as von, date_format(bis,'%m %d') as bis from isrent_time_window where id_wohnung = '6' ";

$result = mysql_query($result) or die ("Fehler: ".mysql_error());
while($row=mysql_fetch_object($result))
{
echo"<tr>
<td width='25%'> ".date("d.F", $row->von). " </td>

<td width='25%' >".date("d.F", $row->bis). " </td>
<td width='25%' >".$row->preis. "</td>
 
Wie schon im vorherigen Post von Dir und per PM gesagt, würde ich Dir empfehlen den UNIX-Timestamp zu verwendet (das geht natürlich nicht mit INT(4)).

Du musst die Daten bereits als Timestamp eintragen (10-stellig) und dann kannst du aus dem Timestamp heraus den Monat und den Tag auslesen.

Schau Dir dazu einmal die Funktion mktime() und den Post hier an.

Wenn du es wirklich nicht so machen willst dann sag mir doch einmal was du in der Datenbank hast? Hast du da z.B. 0104 (für 1. April) und 0809 (für 8. September)? Somit könntest du die letzten beiden Ziffern abschneiden und danach auf ein definiertes Array zugreifen, welches die deutschen Monatsnamen enthalten. Abschneiden kannst du mir der Funktion substr() und das andere funktioniert dann so:

PHP:
<?php
$arr = array("", "Januar", "Februar", "März", "April", "Mai", "etc");
$monat = $arr[$wertAusDB.substr(strlen($wertAusDB)-2, 2)];
?>

Aber wie gesagt, meine Meinung nach nicht die klügste Lösung ;)

Des Weiteren wäre es hilfreich wenn du die Netuqiette von tutorials.de beachten würdest und keine Doppelposts machen würdest.
 
Der Fehler liegt daran das du in der Datenbank das Datum formatierst und dannach mit date() nochmal. Und als unix_timestamp dann das formatierte Datum verwendest.


PHP:
<td width='25%'> ".$row->von. " </td>

<td width='25%' >".$row->bis. " </td>

Sollte dir die Werte so ausgeben wie du wolltest.
 
Zurück