bonjour à tous,

j'ai un souci au niveau d'une réservation de terrain de futsal, en gros l'utilisateur choisit une date dans un calendrier, ensuite il choisit son créneau (9H-10h,10h-11H ....), il clique sur réserver et ensuite sur il valide.

Le problème qui ce pose, c'est que j'aimerais qu'une fois le créneau du terrain réserver, le champ réserver devienne occuper et que cela soit enregistrer dans la base de donnée pour cette utilisateur.

j’ai commencé un algo en php (test), avec une base de donnée (test aussi) qui fait a peu près ça, mais je rencontre des problèmes au moment ou l'on réserve.

voici mon calendrier test pour avoir une idée :
Nom : Capture d’écran 2015-09-19 à 14.49.14.png
Affichages : 198
Taille : 43,0 Ko
Nom : Capture d’écran 2015-09-19 à 14.48.03.png
Affichages : 201
Taille : 28,5 Ko

et voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<?php 
session_start();
$date = $_SESSION['date'];
 
//PDO
// COnnexion au server et a la base de donnée
try
{
  $bdd = new PDO('mysql:host=localhost;dbname=BddTestCalend;charset=utf8', 'root', 'root');
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
/*Mysqli
// Connexion a la base
$con = mysqli_connect('localhost', 'root', 'root', 'BddFutsal');
mysqli_select_db($con,'BddFutsal')  or die('Erreur de selection '.mysql_error()); */
 
//*** 9h a 10h ***///
print('<tr><td class="titre_ligne">09h-10h</td>');
/**PDO**/
//Recherche requete en PDO 
$req = $bdd->query("SELECT DateResa, IdClient, IdTerrain FROM RESERVER WHERE DateResa = '".$date." 09:00:00'");
 
$data = $req->fetch(); // sa je ne sais pas ou le mettre si je le met ds la boucle sa fait un truc diferent .. 
 
//**mysqli**/
// Recherche en Mysqli
/*$sql = "SELECT DateResa, IdClient, IdTerrain FROM RESERVER WHERE DateResa = '".$date." 09:00:00'";
  $req = mysqli_query($con,$sql) or die('Erreur SQL : <br />'.$sql); */
 
// BOUCLE FOR fait pareil que la BOUCLE WHILE dessous
/*for($i = 1; $i < 6 ; $i++)
{
	if($data['IdTerrain'] == $i && $data['IdDate'] == $Date.' 09:00:00')
	{
    
    print ('<td class="tab_contenu">
            <a title="Occupé" >Occupé </a></td>
            <td class="tab_contenu">');
  
  }

  else 
  {
    print ('<td class="tab_contenu">
            <a title="cliquer ici pour réserver" href="#">réserver</a></td>
            <td class="tab_contenu">');
    }

}*/
$i = 1;
while ($i < 6)
  {  
    if($data['IdTerrain'] == $i AND $data['DateResa'] == $date.' 09:00:00' )
      {
        print ('<td class="tab_contenu">
            <a title="Occupé" >Occupé </a></td>
            <td class="tab_contenu">');
      }
 
    else 
      {
        print ('<td class="tab_contenu">
            <a title="cliquer ici pour réserver" href="#">réserver</a></td>
            <td class="tab_contenu">');
      }
      $i ++; 
  }  
  $req->closeCursor();
print('</tr></br>');
 //print('"'.$data.'</br>"');
//** 10h a 11h ***//
print('<tr><td class="titre_ligne">10h-11h</td>');
//$data = mysqli_fetch_assoc($req);
 
$req = $bdd->query("SELECT DateResa, IdClient, IdTerrain FROM RESERVER WHERE DateResa = '".$date." 10:00:00'");
$data = $req->fetch();
 
/* BOUCLE FOR FAIT COMME WHILE
for($i = 1; $i < 6 ; $i++)
{

  if($data['IdTerrain'] == $i  && $data['IdDate'] == $date.' 10:00:00')
  {
    print ('<td class="tab_contenu">
            <a title="Occupé" >Occupé </a></td>
            <td class="tab_contenu">');
  }
  else 
  {
    print ('<td class="tab_contenu">
            <a title="cliquer ici pour réserver" href="#">réserver</a></td>
            <td class="tab_contenu">');
    }
}*/
 
$i = 1;
while ($i < 6)
  {
    if($data['IdTerrain'] == $i AND $data['DateResa'] == $date.' 10:00:00')
      {
        print ('<td class="tab_contenu">
            <a title="Occupé" >Occupé </a></td>
            <td class="tab_contenu">');
      }
    else 
      {
        print ('<td class="tab_contenu">
            <a title="cliquer ici pour réserver" href="#">réserver</a></td>
            <td class="tab_contenu">');
      }
      $i ++; 
  }  
  $req->closeCursor();
print('</tr></br>');
//** 10h a 11h ***//
print('<tr><td class="titre_ligne">11h-12h</td>');
//$data = mysqli_fetch_assoc($req);
$req = $bdd->query("SELECT DateResa, IdClient, IdTerrain FROM RESERVER WHERE DateResa = '".$date." 11:00:00'");
$data = $req->fetch();
/* BOUCLE FOR FAIT COMME WHILE
for($i = 1; $i < 6 ; $i++)
{

  if($data['IdTerrain'] == $i  && $data['IdDate'] == $date.' 10:00:00')
  {
    print ('<td class="tab_contenu">
            <a title="Occupé" >Occupé </a></td>
            <td class="tab_contenu">');
  }
  else 
  {
    print ('<td class="tab_contenu">
            <a title="cliquer ici pour réserver" href="#">réserver</a></td>
            <td class="tab_contenu">');
    }
}*/
$i = 1;
while ($i < 6)
  {
    if($data['IdTerrain'] == $i AND $data['DateResa'] == $date.' 10:00:00')
      {
        print ('<td class="tab_contenu">
            <a title="Occupé" >Occupé </a></td>
            <td class="tab_contenu">');
 
      }
    else 
      {
        print ('<td class="tab_contenu">
            <a title="cliquer ici pour réserver" href="#">réserver</a></td>
            <td class="tab_contenu">');
      }
      $i ++; 
  }  
  $req->closeCursor();
print('</tr></br>');
 
//msql_close();
?>