wochentag ausgabe funktioniert nicht
x-plosiv
- datenbank
0 ralf0 x-plosiv
0 Tobias Kloth0 x-plosiv0 Tobias Kloth0 x-plosiv
0 Sven Rautenberg
hallo liebes forum...ich brauch mal wieder deine hilfe
ich möchte ein datum aus meiner mysql db auslesen und mit Wochentag und Deutschendatumformat formatieren.
dazu habe ich folgendes versucht:
$wochentage = array ("Montag,","Dienstag,","Mittwoch,","Donnerstag,","Freitag,","Samstag,","Sonntag,");
while($row = mysql_fetch_array($result)){
echo $wochentage[date("w", $row["datum"])];
echo datumDeutsch2 ($row["datum"]);
}
jetzt gibt es mir immer Freitag aus...egal welches datum ich in der db habe.....wo liegt der fehler?
ich hoffe es kann mir jemand helfen..
danke im voraus
gruss
x-plosiv
Hi
$wochentage = array ("Montag,","Dienstag,","Mittwoch,","Donnerstag,","Freitag,","Samstag,","Sonntag,");
while($row = mysql_fetch_array($result)){
echo $wochentage[date("w", $row["datum"])];
echo datumDeutsch2 ($row["datum"]);
}
Probier mal bei $row nicht datum anzugeben sondern die nummer der entsprechenden spalte (bei 0 beginnend)
Gruß
Ralf
hat leider nicht geklappt :-(
Danke trotzdem
ps: ich habe jetzt den gesamten quelltext gepostet...ev. kannst du dir die select abfrage nochmals anschauen..danke
Hallo x-plosiv,
$wochentage = array ("Montag,","Dienstag,","Mittwoch,","Donnerstag,","Freitag,","Samstag,","Sonntag,");
warum so umständlich? verwende doch die Datumsfunktionen von mysql[1] - die Funktion DATE_FORMAT() dürfte dir weiterhelfen. Einfach im SELECT-Teil ein "DATE_FORMAT(datum,'%w') as wochentag" und dann
$tagnummer = $row['wochentag'];
echo $wochentage[$tagnummer];
while($row = mysql_fetch_array($result)){
echo $wochentage[date("w", $row["datum"])];
ich werde zwar aus deiner konstruktion nicht so ganz schlaut, aber du musst im Array mit Sonntag anfangen - da 0 (also das erste Element) Sonntag und nicht Montag ist.
echo datumDeutsch2 ($row["datum"]);
mhh... wo kommt die Funktion datumDeutsch2() jetzt her?
jetzt gibt es mir immer Freitag aus...egal welches datum ich in der db habe.....wo liegt der fehler?
wie sieht dein query aus? hast du eine Spalte namens datum? welches Format hat die? (ich hoffe doch date o.ä.)
Grüße aus Nürnberg
Tobias
[1] http://www.mysql.de/doc/de/Date_and_time_functions.html
hi..danke für deine hilfe...leider klappt es nicht ganz :-( hier mein gesamter code
ich wäre dir sehr dankbar wenn du mir helfen könntest...danke
$result = mysql_db_query("fanclubstjakob","select * from spielplan where art = 's' and datum >= NOW() ORDER BY datum LIMIT 0,1");
$wochentage = array ("Sonntag,", "Montag,","Dienstag,","Mittwoch,","Donnerstag,","Freitag,","Samstag,");
$tagnummer = $result['wochentag'];
function datumDeutsch2($datum)
{
list($jahr, $monat, $tag) = explode("-", $datum);
$datum=sprintf("%02d.%02d.%04d", $tag, $monat, $jahr);
return $datum;
}
while($row = mysql_fetch_array($result)){
echo "<br><div class='schriftklein'> ";
echo $wochentage[date("w", $row["datum"])];
echo datumDeutsch2 ($row["datum"]);
echo "</div>";
so klappt es immer noch nicht es gibt jetzt immer donnerstag aus.
jetzt deine version...da kommt immer eine fehlermeldung in der select abfrage...ich kappier nicht ganz wo das date_format hin kommt. ich denke das ist der fehler
$result = mysql_db_query("fanclubstjakob","select * from spielplan where art = 's' and datum >= NOW() ORDER BY datum LIMIT 1 DATE_FORMAT(datum, '%w')as wochentag");
$wochentage = array ("Sonntag,", "Montag,","Dienstag,","Mittwoch,","Donnerstag,","Freitag,","Samstag,");
$tagnummer = $result['wochentag'];
echo $wochentage[$tagnummer];
Hallo x-plosiv,
$result = mysql_db_query("fanclubstjakob"
die Funktion ist veraltet ->http://de3.php.net/mysql_db_query
,"select *
warum fragst du _alles_ ab? ->http://www.dclp-faq.de/q/q-sql-select.html
$wochentage = array ("Sonntag,", "Montag,","Dienstag,","Mittwoch,","Donnerstag,","Freitag,","Samstag,");
für was sind eigentlich die Kommata hinter den Tagenamen? die sind doch überflüssig...
$tagnummer = $result['wochentag'];
afaik gibt mysql_db_query() eine Kennung zurück - kein Ergebnisarray
function datumDeutsch2($datum)
ach da ist sie ja die Funktion :-)
echo $wochentage[date("w", $row["datum"])];
hast du dir mal ausgeben lassen, was in $row["datum"] überhaupt drinsteht? vermutlich kann date() damit nichts anfangen...
jetzt immer donnerstag aus.
:-)
jetzt deine version...da kommt immer eine fehlermeldung in der select abfrage...
und die wäre?
ich kappier nicht ganz wo das date_format hin kommt.
<zitat src="[pref:t=50261&m=275312]" author="me">
Einfach im SELECT-Teil ein "DATE_FORMAT(datum,'%w') as wochentag"
</zitat>
das gehört hinter select - da wo dein * steht...
$result = mysql_db_query("fanclubstjakob","select * from spielplan where art = 's' and datum >= NOW() ORDER BY datum LIMIT 1 DATE_FORMAT(datum, '%w')as wochentag");
SELECT DATE_FORMAT(datum, '%w') as wochentag,[andere felder] FROM spielplan WHERE art = 's' AND datum >= NOW() ORDER BY datum LIMIT 1
sollte funktionieren.
$tagnummer = $result['wochentag'];
erst noch mysql_fetch_*()
Grüße aus Nürnberg
Tobias
danke vielmals...jetzt hats geklappt...danke :-)
jetzt habe ich noch eine frage...falls du noch eine minute zeit für mich hast.
ich gebe ja jetzt noch das datum an sich aus...und formatiere es auf deutsch. kann ich das auch direkt in der abfrage machen?
danke für die links...hab heute wieder viel gelernt... :-)
Hallo x-plosiv,
ich gebe ja jetzt noch das datum an sich aus...und formatiere es auf deutsch. kann ich das auch direkt in der abfrage machen?
sicher - wie das geht steht auf der Seite die ich dir in meinem ersten Posting genannt habe (gleiche Funktion) - du musst dir eben die passenden Parameter zusammensuchen.
Grüße aus Nürnberg
Tobias
Moin!
jetzt gibt es mir immer Freitag aus...egal welches datum ich in der db habe.....wo liegt der fehler?
Datenbanken haben in der Regel tolle Datumsfunktionen, welche bestens in der Lage sind, das Datum schon vor dem Auslesen auf das gewünschte Format zu bringen.
Du solltest also die Wandlung des Datums in deine SQL-Abfrage mit einbauen. Falls du MySQL verwendest: http://www.mysql.com/doc/de/Date_and_time_functions.html, DATE_FORMAT().
- Sven Rautenberg