Data ophalen van vandaag met AND OR
Beste forumleden,
Ik wil in de opencart database records ophalen van de bestellingen die vandaag geplaatst zijn.
In de tabel oc_order staan de volgende velden:
order_status_id / 1 en 5 in mijn geval zijn in behandeling of verzonden welke die moet hebben.
date_added
Ik heb de volgende query:
[code/]
Zonder de order_status_id vergelijking werkt de code goed dus krijg ik enkel de order van vandaag maar met de vergelijking of de status van de order op verzonden of in behandeling staat helaas niet meer.
Ik wil in de opencart database records ophalen van de bestellingen die vandaag geplaatst zijn.
In de tabel oc_order staan de volgende velden:
order_status_id / 1 en 5 in mijn geval zijn in behandeling of verzonden welke die moet hebben.
date_added
Ik heb de volgende query:
[code/]
Code (php)
1
2
3
4
2
3
4
<?php
$q = 'SELECT * FROM oc_order WHERE order_status_id = 1 || order_status_id = 15 AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
?>
$q = 'SELECT * FROM oc_order WHERE order_status_id = 1 || order_status_id = 15 AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
?>
Zonder de order_status_id vergelijking werkt de code goed dus krijg ik enkel de order van vandaag maar met de vergelijking of de status van de order op verzonden of in behandeling staat helaas niet meer.
Gebruik ipv || altijd OR, || is officieel concatenatie. Gebruik daarbij eens haakjes, ofwel iets als:
super thanks! Werkt perfect zo.
Euh.
Kan dat niet korter? Je bent de query in PHP aan het behandelen / zet MySQL nodeloos aan (extra) rekenwerk.
Waarom niet
of
?
In het laatste geval kun je er nog iets generiekers van maken waarbij je de bestellingen van dag X (X variabel) opvraagt.
Code (php)
1
AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW())
Kan dat niet korter? Je bent de query in PHP aan het behandelen / zet MySQL nodeloos aan (extra) rekenwerk.
Waarom niet
of
?
In het laatste geval kun je er nog iets generiekers van maken waarbij je de bestellingen van dag X (X variabel) opvraagt.
Weet iemand misschien ook hoe ik de query kan gebruiken voor week,maand en jaar.
Het liefst deze omgebouwd naar week, maand, jaar.
Alvast bedankt!
Het liefst deze omgebouwd naar week, maand, jaar.
Code (php)
1
2
3
4
2
3
4
<?php
$q = 'SELECT * FROM oc_order WHERE (order_status_id = 1 OR order_status_id = 15) AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
$result = $database->query($q);
?>
$q = 'SELECT * FROM oc_order WHERE (order_status_id = 1 OR order_status_id = 15) AND YEAR(date_added) = YEAR(NOW()) AND MONTH(date_added) = MONTH(NOW()) AND DAY(date_added) = DAY(NOW()) ';
$result = $database->query($q);
?>
Alvast bedankt!




