ppmk22
Goto Top

Wochentag aus SQL

Hallöchen

Bitte um Hilfeeeeeee

Ich kriege bald eine Krise. Das kann doch nicht so schwer sein, ich weiß schon gar nicht mehr was ich alles versucht habe.
Ich möchte doch nur aus dem Datum, das aus der DB kommt, einen Wochentag haben.
z.B.:
Datum 2010-04-16 = 5

LG
Petra

Content-ID: 140577

Url: https://administrator.de/contentid/140577

Ausgedruckt am: 22.11.2024 um 15:11 Uhr

matze2010
matze2010 14.04.2010 um 10:23:09 Uhr
Goto Top
Hallo Petra,

was ist mit
http://php.net/manual/de/function.strftime.php

und %u?

<edit>
Und um den Timestamp zu erzeugen:
http://de.php.net/manual/de/function.strtotime.php
</edit>

Lg
Matze
Biber
Biber 14.04.2010 um 11:03:03 Uhr
Goto Top
[OT]
Moin ppmk22,

bitte bei SQL-Fragen immer das verwendete Datenbankblech incl. Version angeben ( e.g. MySql 6.01b oder LidlStar 4.7).
Sonst ist es schwierig, treffsicher eine evtl vorhandene skalare SQL-Funktion mit den richtigen Parametern zu empfehlen.

Es sei denn, es erscheint irgendwie sinnvoller, diese Datumsformatdarstellung als "Wochentagswert" unbedingt erst in der GUI, also in deinem Fall via PHP nachzuziehen.

Grüße
Biber
[/OT]
masterG
masterG 14.04.2010 um 13:24:02 Uhr
Goto Top
Ist ganz einfach auch mit einem SQL-Statement möglich:

DAYNAME(date)

Returns the name of the weekday for date. As of MySQL 5.1.12, the language used for the name is controlled by the value of the lc_time_names system variable (Section 9.7, “MySQL Server Locale Support”).

mysql> SELECT DAYNAME('2007-02-03');  
        -> 'Saturday'  
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#fun ...
ppmk22
ppmk22 14.04.2010 um 16:10:59 Uhr
Goto Top
sorry, aber das ist mir alles zu hoch.

hier mal das vereinfachte prinzip meiner abfrage.

while ($row = mysql_fetch_array($result))
{
echo "Es ist der ". ???????????($row['datum'], w) . "  Tag der in der Woche."  
}

gewünschtest Ergebnis:
Es ist der 5 Tag in der Woche.
Biber
Biber 14.04.2010 um 16:25:14 Uhr
Goto Top
was ist an der Anforderung, das verwendete Datenbanksystem zu nennen denn zu hoch?
Und warum sagt ihr Kidz nicht mehr "Guten Tach" und "Guten Weg" so wie die Menschen in diesen historischen Romanen, die so beliebt sind?

Schreib doch
SELECT Dayofweek( deindatumsfeld ) 
FROM deineTabelle;
in dein SQL.

Rede ich denn mit Parkuhren hier?
ppmk22
ppmk22 14.04.2010 um 19:07:08 Uhr
Goto Top
hallo biber
ich bitte dich und alle anderen vielmals um entschuldigung, sollte ich die forum regeln nicht eingehalten haben. ich dachte nur, da der thread von heute war, bräuchte ich nicht jedes mal hallo schreiben und tschüß schreiben. bin eben doch mit meinen 34 jahren zu unerfahren.

da ich aber immer wenn ich mal gefragt werde ob ich was machen kann, nicht nein sagen kann, sitze ich jetzt da mit dem problem. obwohl ich von der materie kaum bis keine ahnung habe, lasse ich mich immer breitschlagen es zu versuchen. ich bekomme man gerade mit ach und krach die daten aus der db. aber gut nun werde ich mal versuchen deinen tipp umzusetzen. weiß jetzt schon, das mich das ganzen wieder etliche stunden kosten wird und ich mich morgen wieder hier wieder finden werde.

ich sag schon mal bis morgen
liebe grüße
petra
matze2010
matze2010 14.04.2010 um 20:26:53 Uhr
Goto Top
Hallo Petra,

auch, wenn ich nicht verstehe, was an dem Tipp (ja, es war der erste)

print strftime("%u", strtotime($row['datum']));

allzu mißverständlich ist, so hoffe ich, dass es hier lediglich um private Dinge geht!

Du möchtest sicherlich nicht als PHP-Laie die Verantwortung für die Funktioinstüchtigkeit (insb. Sicherheit, schonmal etwas von SQL-Injection gehört?) für deinen Arbeitgeber übernehmen, oder?

Hier geht es nicht nur um Datenschutz, sondern auch um Datensicherheit. Was, wenn du durch einen Programmierfehler (und den machen wir alle, mal schlimm, mal weniger schlimm) alle vorhandenen Daten löscht? "DELETE FROM AllData", weil dein PHP nämlich das "WHERE x=y" versaut.

Nur so zum nachdenken. Würdest du mal "nebenbei" deinem Nachbarn neue Bremsen ins Auto einbauen, weil du es schon irgendwie hinbekommst? (Ok, kein Autovergleich, würdest du im Steuerbüro nebenan mal Windows "drüberinstallieren" ohne Sicherheitskopie, USB ist eben kaputt und Netzwerk geht ja eben auch nicht so recht.)

Ich denke nicht. Also öfter mal nein sagen, nicht nur wegen Zeit-, Geld-, sondern auch wegen Verantwortungsgesichtspunkten.

Lg
Matze
Biber
Biber 14.04.2010 um 21:16:47 Uhr
Goto Top
Moin ppmk,

Zitat von @ppmk22:
hallo biber
ich bitte dich und alle anderen vielmals um entschuldigung, sollte ich die forum regeln nicht eingehalten haben.
es ging mir nicht darum, irgendwelche Ent-Schuld-igungen einzufordern, weder um Schuldzuweisungen noch um Schuld und Sühne.
Das ist weder mein persönlicher Anspruch noch die Philosophie dieses Forums und auch in keinster Weise zielführend oder für dich hilfreich.

Allerdings nehme ich meinen Nebenjob als Moderator insofern ernst, als das ich schon versuche sanft den Schlingerkurs eines Beitrags zu beeinflussen, der nach meiner Wahrnehmung droht aus dem Ruder zu laufen.
...okay, so sanft, wie freilaufende Biber nun mal sein können.... ich arbeite aber daran

da der thread von heute war, bräuchte ich nicht jedes mal hallo schreiben und tschüß schreiben.
Ja nun, nix gegen selektive Wahrnehmung...aber ich denke nicht, dass sich alle Kommentare zu deiner Frage darauf reduzieren lassen, dass hier ein paar Weicheiern und Forumsmimöschen Pipi in die Augen geschossen ist, weil du nicht jedes Mal "liebe grüße" geschrieben hast.
Ein oder zwei andere Aspekte wurden auch genannt - unter anderem, dass zur Beantworten der Frage ein paar Details nicht abträglich wären.

bin eben doch mit meinen 34 jahren zu unerfahren.
Da wäre ich der Letzte, der irgendwelche Vorbehalte gegenüber unerfahrenen Frauen hätte. Dafür hab ich Zeugen.

da ich aber immer wenn ich mal gefragt werde ob ich was machen kann, nicht nein sagen kann, sitze ich jetzt da mit dem problem.
obwohl ich von der materie kaum bis keine ahnung habe, lasse ich mich immer breitschlagen es zu versuchen. ich bekomme man gerade
mit ach und krach die daten aus der db. aber gut nun werde ich mal versuchen deinen tipp umzusetzen. weiß jetzt schon, das
mich das ganzen wieder etliche stunden kosten wird und ich mich morgen wieder hier wieder finden werde.
Nochmal: bitte fass weder die anderen Kommentare noch mein Aufgeplustere so auf, dass die einzige Message sein sollte: "Machs dir doch selbst."

Aber wenn du nach einer Lösung fragst, die einen Wochentags-Wert aus einem Datenbank-Datumsfeld erzeugen kann, dann ist (zumindest für mich) der Ansatzpunkt: "okay, geht mit SQL-Befehlen direkt in der Query bezogen auf alle Datumswerte in der Resultsetspalte - wenn wir wissen, welches SQL
--oder--
geht auf EINEN einzelnen Feldwert bezogen in irgendeiner mistigen Skriptsprache mit irgendeiner genauso mistigen LOOP-Konstruktion drumherum."

Und da hätte ich meine Präferenzen - wenn ich den Wochentagswert für ALLE Datensätze im Resultset brauche, dann würde ich das natürlich den DB-Server liefern lassen und nicht im Nachklapp irgendwo in der GUI auf einem schmalbrüstigen Client abfackeln.

ich sag schon mal bis morgen
Wenn es ein Morgen gibt....

liebe grüße
petra
Liebe Grüße zurück
Biber
matze2010
matze2010 14.04.2010 um 21:44:25 Uhr
Goto Top
Hallo

<OT>
Kaum gibts hier unerfahrenen Frauen zu helfen, da wird der Biber ganz geschwollen, zumindest seine Rede^WSchreibart.
Zitat von @Biber:
es ging mir nicht darum, irgendwelche Ent-Schuld-igungen einzufordern, weder um Schuldzuweisungen noch um Schuld und Sühne.
Sehr philosophisch face-smile

Allerdings nehme ich meinen Nebenjob als Moderator insofern ernst, als das ich schon versuche sanft den Schlingerkurs eines
Beitrags zu beeinflussen, der nach meiner Wahrnehmung droht aus dem Ruder zu laufen.
Sehr heroisch face-smile

> da der thread von heute war, bräuchte ich nicht jedes mal hallo schreiben und tschüß schreiben.
Ja nun, nix gegen selektive Wahrnehmung...aber ich denke nicht, dass sich alle Kommentare zu deiner Frage darauf reduzieren
lassen, dass hier ein paar Weicheiern und Forumsmimöschen Pipi in die Augen geschossen ist, weil du nicht jedes Mal
"liebe grüße" geschrieben hast.
Sehr egozentrisch face-smile

Da wäre ich der Letzte, der irgendwelche Vorbehalte gegenüber unerfahrenen Frauen hätte. Dafür hab ich
Zeugen.
Sehr unwichtig face-smile

"Machs dir doch selbst."
Sehr praktisch face-smile

Wenn es ein Morgen gibt....
Sehr verführerisch face-smile

Liebe Grüße zurück
Ha, die hätt ich auch mal gern!
Biber
</OT>

Wie so oft, viele Wege führen nach Rom, nimm irgendeinen!

Matze
Biber
Biber 14.04.2010 um 21:59:00 Uhr
Goto Top
[Auch OT]
Moin Matze,

Zitat von @matze2010:
<OT>
Kaum gibts hier unerfahrenen Frauen zu helfen, da wird der Biber ganz geschwollen, zumindest seine Rede^WSchreibart.
Um es vor der mehr oder weniger jungen Frau klarzustellen und Missverständnissen vorzubeugen:
Mir schwillt bei manchen Beiträgen hier ganz bibermäßig der Kamm, sonst aber nichts.

Liebe Grüße zurück
Ha, die hätt ich auch mal gern!
Liebe Grüße zurück auch an alle Matzes dieser Welt
Biber
[/Auch OT]
ppmk22
ppmk22 15.04.2010 um 09:54:05 Uhr
Goto Top
Hallo an Euch

Matze du hattest mit Deinem ersten Tipp schon den richtigen Lösungsansatz gegeben,
(Biber Du sicherlich auch, aber das von Matze war das was ich suchte. Darum auch unter php und nicht unter SQL gepostet)
ich war nur nicht in der Lage einen richtigen Code zu erzeugen. Das heißt alles in die richtige Reihenfolge zu bringen und Anführungszeichen Klammern und Kommas zu setzten.

print strftime("%u", strtotime($row['datum'])); //geht Einwand frei face-smile

Und bei dem Projekt handelt es sich ausschließlich und einen Gefallen privater Natur.

Vielen vielen dank!
Liebe Grüße
Petra