Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1983 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Prise en charge date complete script de réservation

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Prise en charge date complete script de réservation

n°1999874
wyllen
Posté le 08-06-2010 à 13:08:58  profilanswer
 

Bonjour,
 
Je suis actuellement en stage et je dois modifier un script d'affichage des réservations d'un piste de karting.Tout marche a peu près bien a part que lors de l'affichage le script ne prend en compte que l'heure et le numéro du jour de la réservation, ne prenant pas en compte ni le mois ni l'année.Voici donc ce que cela me fait pour une reservation pour le 14/06/2010 a 14h par exemple :
http://loisirs.mecaniques.online.f [...] e-la-piste
 
voila le script en entier:

Code :
  1. <?php
  2. include('traitements.php'); //L'instruction de langage include() inclut et exécute le fichier spécifié en argument, en l'occurence ici la page traitements.php
  3. css();
  4. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  5. //Affichage du jour de la date correspondante
  6. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  7. echo '<div align="center">';
  8. echo "Date du jour : ";
  9. $today = date("N" );  // d ate("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  10. switch($today) //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  11. {
  12. case 1:
  13.  echo "Lundi ";
  14.  break;
  15. case 2:
  16.  echo "Mardi ";
  17.  break;
  18. case 3:
  19.  echo "Mercredi ";
  20.  break;
  21. case 4:
  22.  echo "Jeudi ";
  23.  break;
  24. case 5:
  25.  echo "Vendredi ";
  26.  break;
  27. case 6:
  28.  echo "Samedi ";
  29.  break;
  30. case 7:
  31.  echo "Dimanche ";
  32.  break;
  33. }
  34. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  35. // Affichage de la date
  36. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  37. echo $aujourdhui = date("d/m/Y" ); // date() est la fonction date qui permet de récupérer la date du jour : d est le numéro du jour dans le mois, m est le numéro du mois dans l'année, et y est l'année.
  38. echo "<br>";
  39. echo "<br>";
  40. echo '</div>';
  41. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  42. // Début  
  43. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  44. // $tab1 sera un tableau dont les indices (0 à 23 ici) représenterons l'état.
  45. //$tab1 = array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1); //Warning: Cannot use a scalar value as an array in C:\wamp\www\Calendrier\calendrieroriginal.php  on line 67
  46. //La fonction array() permet de créer des tableaux dynamiques qui seront exploités par les scripts PHP à la différence d'une table mySQL, l'array est temporaire et ne reste généré que le temps du déroulement du script.
  47. $tab1 = array();
  48. // Lecture première requête et mise à jour ...
  49. $sql= "SELECT jo6_etat.img, jo6_horaires.heure, jo6_horaires.id_etat_horaire, jo6_horaires.jour
  50. FROM jo6_horaires LEFT JOIN jo6_etat
  51. ON jo6_horaires.id_etat_horaire=jo6_etat.id_etat
  52. ORDER BY jo6_horaires.heure ASC";
  53. $req = mysql_query($sql) or die(mysql_error());
  54. while ($val = mysql_fetch_assoc($req)) //mysql_fetch_assoc — Lit une ligne de résultat MySQL dans un tableau associatif
  55. {
  56.  $tab1[$val['jour']][$val['heure']] = $val['img'];
  57. }
  58. // En sortie de cette requête nous avons la mise à jour des états pour chaque indice de 0 à 23
  59. //il faut récupérer le numéro du jour, heure et etat.img pour tous les évènements dont la date est comprise entre le moment présent et le moment présent + 6 jours.
  60. //il faut donc d'abord récupérer la date présente et la date finale.
  61. //$j=60;
  62. //$today=date('Y-m-d');
  63. //$lastday=date(strtotime('+' . $j . ' day')); //strtotime — Transforme un texte anglais en timestamp
  64. //strtotime() essaye de lire une date au format anglais US dans la chaîne time , et de la transformer en timestamp Unix (le nombre de secondes depuis le 1er Janvier 1970 à 00:00:00 UTC),
  65. //relativement au timestamp now , ou à la date courante si ce dernier est omis.  
  66. // Lecture deuxième requête est mise à jour si il y a des valeurs différentes
  67. $sql="SELECT jo6_evenements.heure, jo6_evenements.date_evenement, jo6_etat.img
  68. FROM jo6_evenements LEFT JOIN jo6_etat
  69. ON jo6_evenements.id_etat_evenement=jo6_etat.id_etat
  70. WHERE jo6_evenements.date_evenement >= Now()
  71. and TO_DAYS(jo6_evenements.date_evenement) <= TO_DAYS(Now())+60;";
  72. $req = mysql_query($sql) or die(mysql_error());
  73. while ($val = mysql_fetch_assoc($req))
  74. {
  75.  // A remplacer par j
  76.  $jour=date('j', strtotime($val['date_evenement']));
  77.  $tab2[$jour][$val['heure']] = $val['img'];
  78. }
  79.  //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  80. //affichage légende
  81. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  82. echo '<div align="center">';
  83. echo '<br>';
  84. echo '<table border="0" cellspacing="0"><tr>'; //début tableau
  85. echo '<td><center><img src="IMG/rouge.png"></center></td><td>Fermée</td>';
  86. echo '<td><center><img src="IMG/vert.png"></center></td><td>Libre</td>';
  87. echo '<td><center><img src="IMG/jaune.png"></center></td><td>Sur réservation</td>';
  88. echo '<td><center><img src="IMG/bleu.png"></center></td><td>Réservée</td>';
  89. echo '</table>'; //fin tableau
  90. echo '</div>';
  91. echo '<br>';
  92. //--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  93. // Affichage du tableau final
  94. //-----------------------------------------------------------------------SEMAINE 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  95. echo '<table  cellspacing="0" background="IMG/ft.png" >';
  96. echo '<tr>';
  97. echo '<td colspan="19"><IMG src="IMG/heure.png"></td>';
  98. //for ($i = 7; $i <= 23; $i++)
  99. //{
  100. // echo '<td>'.$i.'H</td>';
  101. //}
  102.    
  103. echo '</tr>';
  104.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  105.     for ($j = 0; $j < 7; $j++)
  106.  {
  107.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  108.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  109.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  110.  echo '<tr>';
  111.   echo '<td>';
  112.   $f = 0;
  113.   $s = 0;
  114.   if ($j > 0 )
  115.   $s = 1;
  116.   if ($today == 7)
  117.   $f = $j ;
  118.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  119.   $today = $today + $s - $f ;
  120. echo '<div align="center"> ';
  121.  
  122. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  123. {
  124. case 1:
  125.  echo 'Lundi<br>'.$jsemaine;
  126.  break;
  127. case 2:
  128.  echo ' Mardi<br> '.$jsemaine;
  129.  break;
  130. case 3:
  131.  echo 'Mercredi<br> '.$jsemaine;
  132.  break;
  133. case 4:
  134.  echo 'Jeudi<br> '.$jsemaine;
  135.  break;
  136. case 5:
  137.  echo 'Vendredi<br> '.$jsemaine;
  138.  break;
  139. case 6:
  140.  echo 'Samedi<br> '.$jsemaine;
  141.  break;
  142. case 7:
  143.  echo 'Dimanche<br> '.$jsemaine;
  144.  break;
  145. }
  146. echo '</div>';
  147. if ($today == 7)
  148.   $today = 0 ;
  149.   echo '</td>';
  150.   for ($i = 7; $i <= 23; $i++)
  151.   {
  152.    if (!isset($tab2[$jjour_chiffre][$i]))
  153.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  154.    else
  155.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  156.   }
  157.  }
  158.  echo '</tr>';
  159. echo '</table>';
  160. //---------------------------------------------------------SEMAINE 2 --------------------------------------------------------------------
  161. echo '<table  border="0" cellspacing="0" background="IMG/ft.png">';
  162. echo '<tr>';
  163. echo '<td colspan="19"><img src="IMG/heure.png"></td>';
  164. //for ($i = 7; $i <= 23; $i++)
  165. //{
  166. // echo '<td>'.$i.'H</td>';
  167. //}
  168.    
  169. echo '</tr>';
  170. echo '<br><br>';
  171.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  172.     for ($j = 7; $j < 14; $j++)
  173.  {
  174.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  175.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  176.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  177.  echo '<tr>';
  178.   echo '<td>';
  179.   $f = 0;
  180.   $s = 0;
  181.   if ($j > 0 )
  182.   $s = 1;
  183.   if ($today == 7)
  184.   $f = $j ;
  185.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  186.   $today = $today + $s - $f ;
  187. echo '<div align="center"> ';
  188. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  189. {
  190. case 1:
  191.  echo 'Lundi<br>'.$jsemaine;
  192.  break;
  193. case 2:
  194.  echo ' Mardi<br> '.$jsemaine;
  195.  break;
  196. case 3:
  197.  echo 'Mercredi<br> '.$jsemaine;
  198.  break;
  199. case 4:
  200.  echo 'Jeudi<br> '.$jsemaine;
  201.  break;
  202. case 5:
  203.  echo 'Vendredi<br> '.$jsemaine;
  204.  break;
  205. case 6:
  206.  echo 'Samedi<br> '.$jsemaine;
  207.  break;
  208. case 7:
  209.  echo 'Dimanche<br> '.$jsemaine;
  210.  break;
  211. }
  212. echo '</div> ';
  213. if ($today == 7)
  214.   $today = 0 ;
  215.   echo'</td>';
  216.   for ($i = 7; $i <= 23; $i++)
  217.   {
  218.    if (!isset($tab2[$jjour_chiffre][$i]))
  219.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  220.    else
  221.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  222.   }
  223.  }
  224.  echo '</tr>';
  225. echo '</table>';
  226. //-----------------------------------------------------------------------SEMAINE 3 -------------------------------------------------------------------------------------
  227. echo '<table  border="0" cellspacing="0" background="IMG/ft.png">';
  228. echo '<tr>';
  229. echo '<td colspan="19"><img src="IMG/heure.png"></td>';
  230. //for ($i = 7; $i <= 23; $i++)
  231. //{
  232. // echo '<td>'.$i.'H</td>';
  233. //}
  234.    
  235. echo '</tr>';
  236. echo '<br><br>';
  237.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  238.     for ($j = 14; $j < 21; $j++)
  239.  {
  240.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  241.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  242.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  243.  echo '<tr>';
  244.   echo '<td>';
  245.   $f = 0;
  246.   $s = 0;
  247.   if ($j > 0 )
  248.   $s = 1;
  249.   if ($today == 7)
  250.   $f = $j ;
  251.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  252.   $today = $today + $s - $f ;
  253. echo '<div align="center"> ';
  254. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  255. {
  256. case 1:
  257.  echo 'Lundi<br>'.$jsemaine;
  258.  break;
  259. case 2:
  260.  echo ' Mardi<br> '.$jsemaine;
  261.  break;
  262. case 3:
  263.  echo 'Mercredi<br> '.$jsemaine;
  264.  break;
  265. case 4:
  266.  echo 'Jeudi<br> '.$jsemaine;
  267.  break;
  268. case 5:
  269.  echo 'Vendredi<br> '.$jsemaine;
  270.  break;
  271. case 6:
  272.  echo 'Samedi<br> '.$jsemaine;
  273.  break;
  274. case 7:
  275.  echo 'Dimanche<br> '.$jsemaine;
  276.  break;
  277. }
  278. echo '</div> ';
  279. if ($today == 7)
  280.   $today = 0 ;
  281.   echo'</td>';
  282.   for ($i = 7; $i <= 23; $i++)
  283.   {
  284.    if (!isset($tab2[$jjour_chiffre][$i]))
  285.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  286.    else
  287.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  288.   }
  289.  }
  290.  echo '</tr>';
  291. echo '</table>';
  292. //---------------------------------------------------------SEMAINE 4 --------------------------------------------------------------------
  293. echo '<table  border="0" cellspacing="0" background="IMG/ft.png">';
  294. echo '<tr>';
  295. echo '<td colspan="19"><img src="IMG/heure.png"></td>';
  296. //for ($i = 7; $i <= 23; $i++)
  297. //{
  298. // echo '<td>'.$i.'H</td>';
  299. //}
  300.    
  301. echo '</tr>';
  302. echo '<br><br>';
  303.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  304.     for ($j = 21; $j < 28; $j++)
  305.  {
  306.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  307.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  308.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  309.  echo '<tr>';
  310.   echo '<td>';
  311.   $f = 0;
  312.   $s = 0;
  313.   if ($j > 0 )
  314.   $s = 1;
  315.   if ($today == 7)
  316.   $f = $j ;
  317.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  318.   $today = $today + $s - $f ;
  319. echo '<div align="center"> ';
  320. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  321. {
  322. case 1:
  323.  echo 'Lundi<br>'.$jsemaine;
  324.  break;
  325. case 2:
  326.  echo ' Mardi<br> '.$jsemaine;
  327.  break;
  328. case 3:
  329.  echo 'Mercredi<br> '.$jsemaine;
  330.  break;
  331. case 4:
  332.  echo 'Jeudi<br> '.$jsemaine;
  333.  break;
  334. case 5:
  335.  echo 'Vendredi<br> '.$jsemaine;
  336.  break;
  337. case 6:
  338.  echo 'Samedi<br> '.$jsemaine;
  339.  break;
  340. case 7:
  341.  echo 'Dimanche<br> '.$jsemaine;
  342.  break;
  343. }
  344. echo '</div> ';
  345. if ($today == 7)
  346.   $today = 0 ;
  347.   echo'</td>';
  348.   for ($i = 7; $i <= 23; $i++)
  349.   {
  350.    if (!isset($tab2[$jjour_chiffre][$i]))
  351.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  352.    else
  353.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  354.   }
  355.  }
  356.  echo '</tr>';
  357. echo '</table>';
  358. //---------------------------------------------------------------------------------------------------------------------------------------------
  359. //-----------------------------------------------------------------------SEMAINE 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  360. echo '<table  border="0" cellspacing="0" background="IMG/ft.png" >';
  361. echo '<tr>';
  362. echo '<td colspan="19"><IMG src="IMG/heure.png"></td>';
  363. //for ($i = 7; $i <= 23; $i++)
  364. //{
  365. // echo '<td>'.$i.'H</td>';
  366. //}
  367.    
  368. echo '</tr>';
  369. echo '<br><br>';
  370.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  371.     for ($j = 28; $j < 35; $j++)
  372.  {
  373.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  374.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  375.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  376.  echo '<tr>';
  377.   echo '<td>';
  378.   $f = 0;
  379.   $s = 0;
  380.   if ($j > 0 )
  381.   $s = 1;
  382.   if ($today == 7)
  383.   $f = $j ;
  384.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  385.   $today = $today + $s - $f ;
  386. echo '<div align="center"> ';
  387.    
  388. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  389. {
  390. case 1:
  391.  echo 'Lundi<br>'.$jsemaine;
  392.  break;
  393. case 2:
  394.  echo ' Mardi<br> '.$jsemaine;
  395.  break;
  396. case 3:
  397.  echo 'Mercredi<br> '.$jsemaine;
  398.  break;
  399. case 4:
  400.  echo 'Jeudi<br> '.$jsemaine;
  401.  break;
  402. case 5:
  403.  echo 'Vendredi<br> '.$jsemaine;
  404.  break;
  405. case 6:
  406.  echo 'Samedi<br> '.$jsemaine;
  407.  break;
  408. case 7:
  409.  echo 'Dimanche<br> '.$jsemaine;
  410.  break;
  411. }
  412. echo '</div>';
  413. if ($today == 7)
  414.   $today = 0 ;
  415.   echo '</td>';
  416.   for ($i = 7; $i <= 23; $i++)
  417.   {
  418.    if (!isset($tab2[$jjour_chiffre][$i]))
  419.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  420.    else
  421.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  422.   }
  423.  }
  424.  echo '</tr>';
  425. echo '</table>';
  426. //---------------------------------------------------------SEMAINE 2 --------------------------------------------------------------------
  427. echo '<table  border="0" cellspacing="0" background="IMG/ft.png">';
  428. echo '<tr>';
  429. echo '<td colspan="19"><img src="IMG/heure.png"></td>';
  430. //for ($i = 7; $i <= 23; $i++)
  431. //{
  432. // echo '<td>'.$i.'H</td>';
  433. //}
  434.    
  435. echo '</tr>';
  436. echo '<br><br>';
  437.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  438.     for ($j = 35; $j < 42; $j++)
  439.  {
  440.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  441.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  442.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  443.  echo '<tr>';
  444.   echo '<td>';
  445.   $f = 0;
  446.   $s = 0;
  447.   if ($j > 0 )
  448.   $s = 1;
  449.   if ($today == 7)
  450.   $f = $j ;
  451.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  452.   $today = $today + $s - $f ;
  453. echo '<div align="center"> ';
  454. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  455. {
  456. case 1:
  457.  echo 'Lundi<br>'.$jsemaine;
  458.  break;
  459. case 2:
  460.  echo ' Mardi<br> '.$jsemaine;
  461.  break;
  462. case 3:
  463.  echo 'Mercredi<br> '.$jsemaine;
  464.  break;
  465. case 4:
  466.  echo 'Jeudi<br> '.$jsemaine;
  467.  break;
  468. case 5:
  469.  echo 'Vendredi<br> '.$jsemaine;
  470.  break;
  471. case 6:
  472.  echo 'Samedi<br> '.$jsemaine;
  473.  break;
  474. case 7:
  475.  echo 'Dimanche<br> '.$jsemaine;
  476.  break;
  477. }
  478. echo '</div> ';
  479. if ($today == 7)
  480.   $today = 0 ;
  481.   echo'</td>';
  482.   for ($i = 7; $i <= 23; $i++)
  483.   {
  484.    if (!isset($tab2[$jjour_chiffre][$i]))
  485.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  486.    else
  487.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  488.   }
  489.  }
  490.  echo '</tr>';
  491. echo '</table>';
  492. //-----------------------------------------------------------------------SEMAINE 3 -------------------------------------------------------------------------------------
  493. echo '<table  border="0" cellspacing="0" background="IMG/ft.png">';
  494. echo '<tr>';
  495. echo '<td colspan="19"><img src="IMG/heure.png"></td>';
  496. //for ($i = 7; $i <= 23; $i++)
  497. //{
  498. // echo '<td>'.$i.'H</td>';
  499. //}
  500.    
  501. echo '</tr>';
  502. echo '<br><br>';
  503.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  504.     for ($j = 42; $j < 49; $j++)
  505.  {
  506.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  507.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  508.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  509.  echo '<tr>';
  510.   echo '<td>';
  511.   $f = 0;
  512.   $s = 0;
  513.   if ($j > 0 )
  514.   $s = 1;
  515.   if ($today == 7)
  516.   $f = $j ;
  517.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  518.   $today = $today + $s - $f ;
  519. echo '<div align="center"> ';
  520. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  521. {
  522. case 1:
  523.  echo 'Lundi<br>'.$jsemaine;
  524.  break;
  525. case 2:
  526.  echo ' Mardi<br> '.$jsemaine;
  527.  break;
  528. case 3:
  529.  echo 'Mercredi<br> '.$jsemaine;
  530.  break;
  531. case 4:
  532.  echo 'Jeudi<br> '.$jsemaine;
  533.  break;
  534. case 5:
  535.  echo 'Vendredi<br> '.$jsemaine;
  536.  break;
  537. case 6:
  538.  echo 'Samedi<br> '.$jsemaine;
  539.  break;
  540. case 7:
  541.  echo 'Dimanche<br> '.$jsemaine;
  542.  break;
  543. }
  544. echo '</div> ';
  545. if ($today == 7)
  546.   $today = 0 ;
  547.   echo'</td>';
  548.   for ($i = 7; $i <= 23; $i++)
  549.   {
  550.    if (!isset($tab2[$jjour_chiffre][$i]))
  551.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  552.    else
  553.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  554.   }
  555.  }
  556.  echo '</tr>';
  557. echo '</table>';
  558. //---------------------------------------------------------SEMAINE 4 --------------------------------------------------------------------
  559. echo '<table  border="0" cellspacing="0" background="IMG/ft.png">';
  560. echo '<tr>';
  561. echo '<td colspan="19"><img src="IMG/heure.png"></td>';
  562. //for ($i = 7; $i <= 23; $i++)
  563. //{
  564. // echo '<td>'.$i.'H</td>';
  565. //}
  566.    
  567. echo '</tr>';
  568. echo '<br><br>';
  569.  // fonction qui retourne 7 dates après celle d'aujourd'hui
  570.     for ($j = 49; $j < 56; $j++)
  571.  {
  572.   $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  573.   $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  574.   $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
  575.  echo '<tr>';
  576.   echo '<td>';
  577.   $f = 0;
  578.   $s = 0;
  579.   if ($j > 0 )
  580.   $s = 1;
  581.   if ($today == 7)
  582.   $f = $j ;
  583.   //$today = date("N" );  // date("N" ) retourne un numéro de 1 à 7 pour Lundi à Dimanche
  584.   $today = $today + $s - $f ;
  585. echo '<div align="center"> ';
  586. switch($today)  //Le Switch permet d'avoir une écriture simplifiée, nettement plus lisibile qu'une pile de if then else.  
  587. {
  588. case 1:
  589.  echo 'Lundi<br>'.$jsemaine;
  590.  break;
  591. case 2:
  592.  echo ' Mardi<br> '.$jsemaine;
  593.  break;
  594. case 3:
  595.  echo 'Mercredi<br> '.$jsemaine;
  596.  break;
  597. case 4:
  598.  echo 'Jeudi<br> '.$jsemaine;
  599.  break;
  600. case 5:
  601.  echo 'Vendredi<br> '.$jsemaine;
  602.  break;
  603. case 6:
  604.  echo 'Samedi<br> '.$jsemaine;
  605.  break;
  606. case 7:
  607.  echo 'Dimanche<br> '.$jsemaine;
  608.  break;
  609. }
  610. echo '</div> ';
  611. if ($today == 7)
  612.   $today = 0 ;
  613.   echo'</td>';
  614.   for ($i = 7; $i <= 23; $i++)
  615.   {
  616.    if (!isset($tab2[$jjour_chiffre][$i]))
  617.    echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
  618.    else
  619.    echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  620.   }
  621.  }
  622.  echo '</tr>';
  623. echo '</table>';
  624. //---------------------------------------------------------------------------------------------------------------------------------------------
  625. ?>
  626. </div>


 
Si vous pouviez m'aider a prendre  en compte le mois et l'année je vous en serais très reconnaissant.
 
Merci d'avance

mood
Publicité
Posté le 08-06-2010 à 13:08:58  profilanswer
 

n°1999923
skeye
Posté le 08-06-2010 à 15:22:30  profilanswer
 

On ne fait pas ton boulot à ta place.


---------------
Can't buy what I want because it's free -
n°2000032
wyllen
Posté le 08-06-2010 à 21:18:10  profilanswer
 

Ce n'est pas ce que je souhaite.J'ai d'ailleurs réussi a repéré d'ouù venais le bug cependant n'étant que novice en php je ne sais pas comment faire pour prendre en compte la date complète et ce n'est pas faute d'avoir essayé.
 
voici les lignes sur lesquelles il faudrait apporté des modifs pour pouvoir inclue le mois et l'année si possible:
 
 
while ($val = mysql_fetch_assoc($req))
{
 // A remplacer par j
 $jour=date('j', strtotime($val['date_evenement']));
 $tab2[$jour][$val['heure']] = $val['img'];
}
 
                                   [..]
 
 
 $jsemaine = date('d/m/Y', strtotime('+' . $j . ' day'));
  $jsemaine_chiffre = date('N', strtotime('+' . $j . ' day'));
  $jjour_chiffre = date('j', strtotime('+' . $j . ' day'));
   
                            [..]
 
 
for ($i = 7; $i <= 23; $i++)
  {
   if (!isset($tab2[$jjour_chiffre][$i]))
   echo '<td><center><img src='.'IMG/'.$tab1[$jsemaine_chiffre][$i].'></center></td>';
   else
   echo '<td><center><img src='.'IMG/'.$tab2[$jjour_chiffre][$i].'></center></td>';
  }
 
 

n°2000108
deuspi
Posté le 09-06-2010 à 10:22:35  profilanswer
 

wyllen a écrit :

Ce n'est pas ce que je souhaite.J'ai d'ailleurs réussi a repéré d'ouù venais le bug cependant n'étant que novice en php je ne sais pas comment faire pour prendre en compte la date complète et ce n'est pas faute d'avoir essayé.
 
voici les lignes sur lesquelles il faudrait apporté des modifs pour pouvoir inclue le mois et l'année si possible:
[...]


Salut,
 
Pose une question précise si tu veux qu'on puisse t'aider. Du genre, j'essaie de faire ça, j'ai testé ci, j'ai testé ça, j'ai tel message d'erreur... Car sinon ça veut dire qu'on te file du code tout cuit que t'as juste à copier coller et ça ne te permettra pas de comprendre.
 
Tu dis être novice en PHP, je te recommande donc l'utilisation de la doc en ligne pour répondre à 100% des questions que tu pourrais te poser.
Par exemple tu parles de problème de date, le mieux est de se renseigner sur la fonction date dans la doc : http://php.net/date
 
Fais des essais, fais des erreurs, récupère les messages d'erreurs, pose des questions précises et là tu recevras plus facilement de l'aide.
 
Bon courage

n°2000116
rufo
Pas me confondre avec Lycos!
Posté le 09-06-2010 à 10:26:39  profilanswer
 

Un conseil, pour afficher le nom du jour en fr, plutôt qu'un gros switch bien pourri, fais un tableau :

Code :
  1. $Jours = array("Lundi", "Mardi"....., "Dimanche" );
  2. $today = date("N" );
  3. $JoursAAfficher = $Jours[$today - 1];


 
Ton pb de réservation revient à une disponibilité d'une ressource. Tu peux regarder le code source de mon soft Astres (cf signature), la partie Planning (les fichiers qui contiennent le mot "Planning" dans leur nom). Moi, c'était pour voir la dispo de personnes d'une équipe sur une période donnée (jour, mois, plage de date).

Message cité 1 fois
Message édité par rufo le 09-06-2010 à 10:29:33

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2000135
stealth35
Posté le 09-06-2010 à 10:47:13  profilanswer
 

rufo a écrit :

Un conseil, pour afficher le nom du jour en fr, plutôt qu'un gros switch bien pourri, fais un tableau :

Code :
  1. $Jours = array("Lundi", "Mardi"....., "Dimanche" );
  2. $today = date("N" );
  3. $JoursAAfficher = $Jours[$today - 1];




 
pourquoi s'embêter : strftime   ;)

n°2000154
rufo
Pas me confondre avec Lycos!
Posté le 09-06-2010 à 11:39:01  profilanswer
 

aussi :D


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2000326
wyllen
Posté le 09-06-2010 à 18:50:12  profilanswer
 

Merci pour vos réponses je vais voir ce que je peux faire :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Prise en charge date complete script de réservation

 

Sujets relatifs
lancement d'un script php suite a un triggerProbleme prise en charge Tableaux IE/Chrome/Firefox/Opera
VBA Trier date min max d'une serie de donnéesadapter une date pour pouvoir l'utiliser dans un requête
[Script]en .bat pour Test FTP en boucleInsérer un script javascript sur mon forum
Je ne suis vraiment épanouie et complète que depuis que j'ai rencontré[batch] Supprimer un fichier par rapport à la date
Plus de sujets relatifs à : Prise en charge date complete script de réservation


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR