Abfrage einer mysqldb

Schmaro

Grünschnabel
Hallo zusammen,
ich möchte mir gerne mit php und mysql eine Datenbank erstellen bzw. habe ich sie ja schon.
Daten eintragen, löschen,oder ändern, klappt alles wunderbar.
Ich möchte jetzt eine Abfrage erstellen, die mir immer einen bestimmten Datensatz für eine bestimmte Kalenderwoche von Montag 00:00 bis Sonntag 23:59 Uhr anzeigt. Wie kann ich das denn jetzt machen? Habe leider keine Idee dazu. Die Kalender Wochen sind übrigens in der Datenbank z.B. 30 so gespeichert
Es soll aber möglich sein neue Datensätze anlegen zu können ohne das die schon angezeigt werden. Es soll halt immer nur eine Bestimmte Kalenderwoche angezeigt werden.

Vielleicht habt ihr ja ne Idee dazu.

Mit freundlichen Grüßen
Sven
 
Hi,

Richtig verstanden hab ich noch nicht, was du willst, aber ich mach schon mal einen Vorschlag:
SQL:
SELECT * FROM mytable WHERE kw = 30
 
Hi,

Richtig verstanden hab ich noch nicht, was du willst, aber ich mach schon mal einen Vorschlag:
SQL:
SELECT * FROM mytable WHERE kw = 30

Hallo,
genau die kw ist es die mir Probleme macht. Die ändert sich jede Woche. Kann ja nicht jede Woche ne neue Abfrage machen. Dafür suche ich halt eine Lösung. Die kw 30 war nur ein Beispiel. Sie hat eine Woche Gültigkeit. Nach einer Woche kommt dann die 31. Hoffe das es jetzt etwas verständlicher geworden ist.

Gruß Sven
 
Die aktuelle Woche kennst du doch oder?
Dann musst du den Query nur variable halten und an Stelle der 30 eine Parameter setzen.
Oder alternativ:
Der Query per Stringverkettung zur Laufzeit zusammenbauen
 
Hallo

Die aktuelle Woche kennst du doch oder?
Dann musst du den Query nur variable halten und an Stelle der 30 eine Parameter setzen.
Oder alternativ:
Der Query per Stringverkettung zur Laufzeit zusammenbauen

Die aktuelle Kalenderwoche steht in der Datenbank drin.
Was du mit Query meinst weiß ich jetzt nicht. Man muss doch eine Abfrage so bauen können, das sie immer zur aktuellen Kalenderwoche passt. Da hab ich meine Probleme das umzusetzen.

Gruß Sven
 
Ich kann zwar nicht wirklich php aber so ähnlich sollte es gehen:
PHP:
$weekNumber = date("W");   //ISO-8601 Wochennummer des Jahres, die Woche beginnt am Montag
$sql = "SELECT * FROM mytable WHERE kw = ".weekNumber;
 
Hallo,

lass es doch die Datenbank selbst machen:

SQL:
SELECT * 
  FROM tabelle
 WHERE kw = WEEKOFYEAR(CURDATE())

Markus
 
Danke für die schnelle Antwort.
Scheint nicht wirklich zu funktionieren. Sobald ich einen Neuen Datensatz mit der nächsten Kalenderwoche eingebe, zeigt er mir die neue an. Ich möchte aber nur die aktuelle angezeigt bekommen.

Gruß Sven
 
Hallo,

lass es doch die Datenbank selbst machen:

SQL:
SELECT * 
  FROM tabelle
 WHERE kw = WEEKOFYEAR(CURDATE())

Markus

Ich habe das auch ausprobiert. Es scheint so, als wäre ich zu blöd sowas zu machen.
Die Kalenderwoche wird als Zahl in die Datenbank eingetragen.
Irgendwie muss es doch eine Funktion geben, die mir das ausgeben kann.

Gruß Sven
 
Hallo,

jetzt verstehe ich nicht, was du machen möchtest.
Meine Abfrage vergleicht einfach den Wert der Spalte "kw" mit der aktuellen Kalenderwoche und gibt die passenden Datensätze zurück.

Vielleicht meinst du das ?

die aktuelle Kalenderwoche holen:
SQL:
SELECT WEEKOFYEAR(CURDATE()) AS kw

Dann steht sie im Resultset im Feld "kw" und du kannst sie abfragen und in andere Tabellen wieder einfügen.

Markus
 

Neue Beiträge

Zurück