Van TOT [MYSQL] [PHP]

Gestart doorShahiem13 reacties53 weergaven

14 berichten · pagina 1 van 1

Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hi,

Voor een klant ben ik een script aan het maken. Maar ik heb 2 date time velden en nu wil ik dat je bijvoorbeeld in 2 inputs datums kan invullen en dan zoekt hij de facturen tussen die 2 datums. Dat heb ik nu.

Maar zodra ik bijvoorbeeld dit doe:

Van: 2011-08-12
Tot: 2011-08-19

Dan krijg ik o.a resultaten van 2013 etc, maar wat me wel opvalt is dat de foute resultaten wel in 1 van de 2 date velden een 0000-00-00 als value hebben.

Wie weet hoe ik dit kan oplossen.

Query

SELECT 
                                            sl.factuurnummer,
                                            sl.factuur_datum_betaald,
                                            sl.factuurdatum, 
                                            sl.factuur_omschrijving, 
                                            sl.factuur_ex_btw_bedrag, 
                                            sl.factuur_btw_bedrag, 
                                            sl.factuur_incl_btw_bedrag, 
                                            sc.naam,
                                            sc.project_id
                                        FROM factuur sl, projecten_adressen sc 
                                        WHERE sl.id_klant = sc.id
                                        AND sc.verwijderd = 0
                                        AND factuurdatum >= ".$mysql->escape($_SESSION[van])." AND factuur_datum_betaald <= ".$mysql->escape($_SESSION[tot])."
                                        ORDER BY sc.naam
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Je hebt bij ene factuur_datum_betaald en bij de ene factuur_datum?
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Jep smile
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ah zo ik snap hem al yummie
toevoeging op 22 april 2013, 16:45:33:

SELECT 
                                            sl.factuurnummer,
                                            sl.factuur_datum_betaald,
                                            sl.factuurdatum, 
                                            sl.factuur_omschrijving, 
                                            sl.factuur_ex_btw_bedrag, 
                                            sl.factuur_btw_bedrag, 
                                            sl.factuur_incl_btw_bedrag, 
                                            sc.naam,
                                            sc.project_id
                                        FROM factuur sl, projecten_adressen sc 
                                        WHERE sl.id_klant = sc.id
                                        AND sc.verwijderd = 0
                                        AND factuurdatum >= ".strtotime($mysql->escape($_SESSION[van]))." AND factuur_datum_betaald <= ".strtotime($mysql->escape($_SESSION[tot]))."
                                        ORDER BY sc.naam


toevoeging op 22 april 2013, 16:48:09:
Wat echoen die sessies?
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
De sessies echoen de POST van en tot smile, eigg hoef ik geen sessions te gebruiken maar oke.

Nu heb ik staan:

2011-08-11
2011-08-19
0
Berichten
8.602
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
SELECT 
                                            sl.factuurnummer,
                                            sl.factuur_datum_betaald,
                                            sl.factuurdatum, 
                                            sl.factuur_omschrijving, 
                                            sl.factuur_ex_btw_bedrag, 
                                            sl.factuur_btw_bedrag, 
                                            sl.factuur_incl_btw_bedrag, 
                                            sc.naam,
                                            sc.project_id
                                        FROM factuur sl, projecten_adressen sc 
                                        WHERE sl.id_klant = sc.id
                                        AND sc.verwijderd = 0
                                        AND factuurdatum >= ".date("Y-d-m", strtotime($mysql->escape($_SESSION[van])))." AND factuur_datum_betaald <= ".date("Y-d-m", strtotime($mysql->escape($_SESSION[tot])))."
                                        ORDER BY sc.naam


toevoeging op 22 april 2013, 16:51:13:
Probeer zo eens

toevoeging op 22 april 2013, 16:52:38:

SELECT 
                                            sl.factuurnummer,
                                            sl.factuur_datum_betaald,
                                            sl.factuurdatum, 
                                            sl.factuur_omschrijving, 
                                            sl.factuur_ex_btw_bedrag, 
                                            sl.factuur_btw_bedrag, 
                                            sl.factuur_incl_btw_bedrag, 
                                            sc.naam,
                                            sc.project_id
                                        FROM factuur sl, projecten_adressen sc 
                                        WHERE sl.id_klant = sc.id
                                        AND sc.verwijderd = 0
                                        AND sl.factuurdatum >= ".$mysql->escape($_SESSION[van])." AND sl.factuur_datum_betaald <= ".$mysql->escape($_SESSION[tot])."
                                        ORDER BY sc.naam
0
Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Misschien gewoon

"AND factuur_datum_betaald != ".strtotime(0)."";


of

"AND factuur_datum_betaald > ".strtotime(0)."";


En dan voor die andere ook yummie
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Robbeing schreef:
Misschien gewoon
"AND factuur_datum_betaald != ".strtotime(0)."";


of

"AND factuur_datum_betaald > ".strtotime(0)."";


En dan voor die andere ook yummie
Werkt niet, beide sadley
0
Berichten
7.681
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Waarom gebruik je de

sl.factuurdatum BETWEEN date1 AND date2
0
Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Freestyle schreef:
Waarom gebruik je de

sl.factuurdatum BETWEEN date1 AND date2
Omdat hij niet van één veld de datums moet checken yummieMaar de datums moeten vanuit 2 velden komen.

Dus: veld1 >= date1 AND veld2 <= date2
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Robbeing schreef:
Eerdere citaten tonen
Freestyle schreef:
Waarom gebruik je de
sl.factuurdatum BETWEEN date1 AND date2

Omdat hij niet van één veld de datums moet checken yummieMaar de datums moeten vanuit 2 velden komen.

Dus: veld1 >= date1 AND veld2 <= date2
Inderdaad, anders had ik allang between gebruikt smile
0
Berichten
7.681
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Maar Between is toch juist tussen in ?
0
Berichten
308
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Freestyle schreef:
Maar Between is toch juist tussen in ?
Ja, maar dat kan je maar toepassen op één veld.

Dus bijv: veld1 BETWEEN date1 AND date2.
Maar, er zijn 2 velden, dan gaat het niet wink
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Het komt door die 00-00-00 alleen ik heb er nog geen oplossing voor, :9

toevoeging op 22 april 2013, 19:21:12:
Na veel gekut is het eindelijk gelukt biggrin
Oplossing:

SELECT 
                                            sl.factuurnummer,
                                            sl.factuur_datum_betaald,
                                            sl.factuurdatum, 
                                            sl.factuur_omschrijving, 
                                            sl.factuur_ex_btw_bedrag, 
                                            sl.factuur_btw_bedrag, 
                                            sl.factuur_incl_btw_bedrag, 
                                            sc.naam,
                                            sc.project_id
                                        FROM factuur sl, projecten_adressen sc 
                                        WHERE sl.id_klant = sc.id
                                        AND sc.verwijderd = 0
                                        AND sl.factuurdatum >= ".$mysql->escape($_SESSION[van])." AND sl.factuur_datum_betaald <= ".$mysql->escape($_SESSION[tot])."
                                        AND sl.factuur_datum_betaald >= ".$mysql->escape($_SESSION[van])." AND sl.factuurdatum <= ".$mysql->escape($_SESSION[tot])."
                                        AND factuur_datum_betaald <> 0000-00-00 
                                        ORDER BY sc.naam
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren