Date comprise entre et entre

Signaler
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011
-
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
-
Bonjour, j'utilise la source
http://www.phpcs.com/code.aspx?ID=25751
 .
Apres qq petites retouches cette source qui faisait de la gestion d'évenement me permet de géré la réservation d'un chalet.
Dérniérement j'ai ajout dans la table le champ date_fin dans le but de pouvoir afficher dans le calendrier des reservations comprise entre Date et Date_fin.

Le pb et que je n'arrive pas a apporter les corrections au code pour afficher les date comprise dans le période.
voici la fonction qui récupere les dates.

  function bir($jou, $moi, $ann, $tab, $connect, $debug)
   {
   $req = 'SELECT *
     FROM '.$tab.'      WHERE dayofmonth(date) '.$jou.' AND month(date) '.$moi.' AND year(date) = '.$ann.'
     AND supp_resa="0"
     ORDER BY  date asc, nom asc, prenom asc';



   $res = mysql_query($req, $connect);
   $nbr = mysql_num_rows($res);
   if($nbr) { $ret[1] = $nbr; $ret[2] = $res; } else { $ret[1] = ''; }




   $ret[0] = '';
   if($debug == true) { $ret[0] .= deb($jou.'-'.$moi.'-'.$ann, $nbr); }
   
   return $ret;
   }





Merci de votre aide

10 réponses

Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
Pourrais-tu mettre après $res = mysql_query($req, $connect); la ligne suivante stp et nous dire ce que cela affiche: print_r(mysql_fetch_array($res));

*****
noisy communication - wherever, be everywhere!
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

bonjour et merci de m'aider.
voici ce que retourne votre code.

Array ( [0] => 1 [id_resa] => 1 [1] => Dupond [nom] => Dupond [2] => Michel [prenom] => Michel [3] => bla bla un message [message] => bla bla un message [4] => 2008-01-14 [date] => 2008-01-14 [5] => 2008-01-20 [date_fin] => 2008-01-20 [6] => Christophe [reservant] => Christophe [7] => [modif_reservant] => [8] => 2 [qte] => 2 [9] => 15 [prix] => 15 [10] => 0 [supp_resa] => 0 )
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
ben si je comprends bien ton code, tu dois juste modifier ta requête sql:
$req = 'SELECT *
     FROM '.$tab.'      WHERE dayofmonth(date) '.$jou.' AND month(date) '.$moi.' AND year(date) = '.$ann.'
     AND supp_resa="0" AND date_fin < '.$fin.' ORDER BY  date asc, nom asc, prenom asc';

et ajouter une varibale:
  function bir($jou, $moi, $ann, $tab, $connect, $debug, $fin)

*****
noisy communication - wherever, be everywhere!
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Domage, c'est pas ça. Bizarement j'ai ces 3 erreurs

Warning: Missing argument 7 for bir() in /home.10.2/wissim/www/dev.wissbox/back_office/calendrier.php on line 162

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home.10.2/wissim/www/dev.wissbox/back_office/calendrier.php on line 178

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home.10.2/wissim/www/dev.wissbox/back_office/calendrier.php on line 180

et elles se répete 30 foi avant d'afficher le tableau.

petite question, ni connaisant pas grand chose en fonction je me demandais comment le systeme savais que $fin etait = au chanps date_fin.
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
hemm... effectivement je constate un certain manque de connaissances...

Regarde le message d'erreur, il dit missing argument 7 for bir()... cela veut dire que tu ne l'as pas mis!
Dans ton code, il y a un endroit où tu fais appel à cette fonction bir() et à cet endroit il y a actuellement 6 arguments. Il faut que tu ajoutes le 7e et que ce soit la date de fin (format: 2008-01-03), c'est comme ça que la fonction va associer $fin à date_fin

*****
noisy communication - wherever, be everywhere!
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

Ok merci, j'ai trouver les fonctions ou il manquait la variable $fin.
Du coups il me reste 30 fois cette erreur :

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home.10.2/wissim/www/dev.wissbox/back_office/calendrier.php on line



180
et la ligne 180 correspond




a la ligne$nbr = mysql_num_rows($res); de mon premier poste.
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
Ca veut dire qu'il y a une erreur dans la requête.
Rajoute dans ton code après la requête ($req = ...) la ligne echo '
'.$req; et dis moi ce que ça t'affiche. A priori la requête aura une erreur qui devrait sauter aux yeux si tu connais bien ta table

*****
noisy communication - wherever, be everywhere!
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

C'est bien ce qui me semblait, il répete autant de foi l'erreur qu'il y a de jour dans le mois et incremente de +1 dayofmonth(date) = 2 / dayofmonth(date) = 2 / dayofmonth(date) = 3 .......
voici ce que me retourne la variable $req :




SELECT * FROM dev_reservation WHERE dayofmonth(date) 1 AND month(date) 01 AND year(date) = 2008 AND date_fin <= AND supp_resa="0" ORDER BY date asc, nom asc, prenom asc
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home.10.2/wissim/www/dev.wissbox/back_office/calendrier.php on line 181
Messages postés
208
Date d'inscription
jeudi 3 octobre 2002
Statut
Membre
Dernière intervention
31 mars 2011

A j'oubliais il manque aussi la date de fin.
Messages postés
1154
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
15 août 2009
17
on va finir par y arriver... peut-être 

S'il manque la date de fin, c'est parce que tu ne l'as transmets toujours pas...

Est-ce que dans la définition de la fonction tu as:
 function bir($jou, $moi, $ann, $tab, $connect, $debug, $fin)
?

*****
noisy communication - wherever, be everywhere!