Query met jaar en maand in where blanco
matthias deckers
29/01/2011 08:27:26ik heb query dit
maar nu doet hij die tweede AND niet voor dat jaar
wat is wel de juiste oplossing ? zonder die AND werkt het wel kan ik die m en jaar niet samenvoegen ofzo naar 08/2010 heb al geprobeerd maar resultaat is blanco geen error
Code (php)
1
2
3
2
3
$query = mysql_query("SELECT id , naam_event , datum , regio_event FROM event
WHERE DATE_FORMAT(datum, '%m') = '08' AND DATE_FORMAT(datum, '%y') = '2010' AND
archief = '1' ORDER BY DATE_FORMAT(datum, '%m/%d')") or die(mysql_error());
WHERE DATE_FORMAT(datum, '%m') = '08' AND DATE_FORMAT(datum, '%y') = '2010' AND
archief = '1' ORDER BY DATE_FORMAT(datum, '%m/%d')") or die(mysql_error());
maar nu doet hij die tweede AND niet voor dat jaar
wat is wel de juiste oplossing ? zonder die AND werkt het wel kan ik die m en jaar niet samenvoegen ofzo naar 08/2010 heb al geprobeerd maar resultaat is blanco geen error
Gewijzigd op 29/01/2011 08:32:43 door Matthias deckers
PHP hulp
21/11/2024 19:24:02Noppes Homeland
29/01/2011 10:14:53Hoe vaak moet er nog geschreven worden dat DATE_FORMAT niet de aangewezen functie is om te gebruiken in de WHERE/GROUP BY/ORDER BY clauses!!
DATE_FORMAT is er alleen om de datum te presenteren!!
En leer dan ook gelijk maar eens of je wat overzichtelijker kan coderen, een sql statement direct aan _query voeren bemoeilijkt het debuggen. De `or die()` is ook uit den boze, je wilt niet dat je script stopt als je query fout gaat.
DATE_FORMAT is er alleen om de datum te presenteren!!
En leer dan ook gelijk maar eens of je wat overzichtelijker kan coderen, een sql statement direct aan _query voeren bemoeilijkt het debuggen. De `or die()` is ook uit den boze, je wilt niet dat je script stopt als je query fout gaat.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$sql = "
SELECT id
, naam_event
, datum
, regio_event
FROM event
WHERE MONTH(datum) = 8
AND YEAR(datum) = 2010
AND archief = '1'
ORDER BY
MONTH(datum)
, DAY(datum)";
if (($result = mysql_query($sql)) === false) {
echo $sql.'<br />'.mysql_error();
}
else {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
?>
$sql = "
SELECT id
, naam_event
, datum
, regio_event
FROM event
WHERE MONTH(datum) = 8
AND YEAR(datum) = 2010
AND archief = '1'
ORDER BY
MONTH(datum)
, DAY(datum)";
if (($result = mysql_query($sql)) === false) {
echo $sql.'<br />'.mysql_error();
}
else {
while ($row = mysql_fetch_assoc($result)) {
print_r($row);
}
}
?>
matthias deckers
29/01/2011 12:31:09awel ja ik wist het niet meer goe wat juiste was nu weet ik het bedankt voor tips werkt anders ook met die format date :-) op zeker niveau zonder jaar doet ie het perfect maar goed bedankt. ben hier om te leren he