Komende week uitlezen uit db
Ik wil van de komende week de vrijdag en zaterdag uitlezen. En weergeven.
Zover ben ik, dit werkt ook, maar nu moet ik alleen de vrijdag en zaterdag eruit filteren?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$kalender = mysql_query("
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
datum <= NOW() + INTERVAL 7 DAY
ORDER BY
titel ASC
") or die (mysql_error());
?>
$kalender = mysql_query("
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
datum <= NOW() + INTERVAL 7 DAY
ORDER BY
titel ASC
") or die (mysql_error());
?>
Kan dit? En zo ja, heeft iemand enig idee, hoe ik dit kan oplossen?
Gewijzigd op 01/01/1970 01:00:00 door Davy Jansen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$kalender = mysql_query("
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
ORDER BY
titel ASC
") or die (mysql_error());
?>
$kalender = mysql_query("
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
ORDER BY
titel ASC
") or die (mysql_error());
?>
Zoiets miss
Gewijzigd op 01/01/1970 01:00:00 door RT
zaterdag en de vrijdag van de volgend week zien of niet?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$kalender = mysql_query("
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
datum <= NOW() + INTERVAL 7 + 7 - DAYOFWEEK(NOW()) DAY AND
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
ORDER BY
titel ASC
") or die (mysql_error());
?>
$kalender = mysql_query("
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
datum <= NOW() + INTERVAL 7 + 7 - DAYOFWEEK(NOW()) DAY AND
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
ORDER BY
titel ASC
") or die (mysql_error());
?>
Edit: zoiets?
Gewijzigd op 01/01/1970 01:00:00 door RT
Ik heb datums erin staan van deze vrijdag en zaterdag, en van volgende week vrijdag en zaterdag. En hij leest ze alle 4 niet uit?
Ik had ook al geprobeer dit:
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
te veranderen in:
DAYNAME(datum) = 'Friday' OR
DAYNAME(datum) = 'Saturday'
omdat je niet verplicht 2 dingen moet uitlezen, want het kan voorkomen dat op 1 datum geen agenda punt staat ingevuld. Maar dat werkte ook niet.
Iemand nog een idee?
Code (php)
1
2
3
4
5
6
2
3
4
5
6
SELECT * ,
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum
WHERE
datum >= NOW() AND
DAYNAME(datum) = 'Friday' AND
DAYNAME(datum) = 'Saturday'
Maar dan laat hij van alle weken zien, en niet alleen de vrijdag en zaterdag van deze week en van volgende week?
Als je hier ook nog een oplossing voor hebt, zou het helemaal perfect zijn?
Alvast super bedankt.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?php
$kalender = mysql_query("
SELECT * , DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum FROM agendaniki
WHERE datum <= DATE_ADD(NOW(), INTERVAL 14 DAY) AND DAYOFWEEK(datum) IN (6,7)
ORDER BY datum ASC") or die (mysql_error());
?>
$kalender = mysql_query("
SELECT * , DATE_FORMAT(datum, '%d-%m-%Y') AS dedatum FROM agendaniki
WHERE datum <= DATE_ADD(NOW(), INTERVAL 14 DAY) AND DAYOFWEEK(datum) IN (6,7)
ORDER BY datum ASC") or die (mysql_error());
?>
ipv van DAYNAME, kan iik ook gebruik maken van DAYOFWEEK.
En door INTERVAL op 14 te zetten, kan ik de vrijdagen en zaterdagen van deze week en van de volgende week opvragen.
Bedankt voor jullie hulp.
-Chupskie
Als ik de agenda wil van de deze week EN volgende week, doe ik dit:
Maar als ik de agenda wil van volgend week loop ik vast bij dit:
Hoe krijg ik het nou zo, dat ik de agenda krijg van alleen volgende week.
Het zou toch zoiets moeten, maar ik kom er niet uit?
Alvast bedankt
-Chupskie
//Edit:
Als je deze regel vertaald naar de goede syntax, is het probleem opgelost:
Gewijzigd op 01/01/1970 01:00:00 door RT
Met jou code:
WHERE datum <= datum <= NOW() + INTERVAL 7 + 7 - DAYOFWEEK(NOW()) DAY AND DAYOFWEEK(datum) IN (6,7)
krijg ik hetzelfde resultaat (alles van de komende 2weken)
Als dat ik mijn code laat staan:
WHERE datum <= DATE_ADD(NOW() + 7, INTERVAL 14 DAY) AND DAYOFWEEK(datum) IN (6,7)
Ik kom er maar niet uit. Logisch gezien, zou je toch alleen een week (7dagen) moeten optellen bij NOW, en daarna gewoon normaal de interval van 7 dagen.
Dan wordt het dus DATE_ADD(25-03-2007, INTERVAL 7 DAY) AND
Lijkt me dat dat wel moet werken, maar dat doet het ook niet?
Iemand enig idee?
Interval 14 kun je niet zomaar laten staan, namelijk als je dit op een vrijdag bv opvraagt, krijg je dus 3 vrijdagen terug en 2 zaterdagen. Daarom moet je je aanpassen aan de dag van de week. Uiteraard geeft mijn code nu hetzelfde resultaat als jouw code, maar dat is lang niet altijd het geval.
Alleen nu zit ik nog steeds met het volgende week uitlees probleem?
Beschrijf nu eens zo precies mogelijk welke dagen je nu eigenlijk wilt hebben?
Deze week:
- Vrijdag 23 Maart 2007
- Zaterdag 24 Maart 2007
Volgende week:
- Vrijdag 30 Maart 2007
- Zaterdag 31 Maart 2007
De eerste week is al gelukt.
De tweede week, weergeeft alles, dus ook van de eerste week.
Ik hoop dat het zo duidelijker is?
-Chupskie
Dus de vrij- en zaterdagen die binnen de komende 14 dagen vallen?
ja, dat is helemaal correct.
vrij- en zaterdagen van deze week:
Die van volgende week:
Code (php)
1
WHERE WEEKOFYEAR(datum) = WEEKOFYEAR(NOW(), INTERVAL +1 WEEK) AND DAYOFWEEK(datum) IN (6,7)
Gewijzigd op 01/01/1970 01:00:00 door RT