Bonjour,

Je souhaite faire un site en php afin de recenser/reserver des emplacements pour des serveurs.
J'ai une base qui se met à jour dynamiquement 2 fois par jour afin de connaitre ce qui est en place.
J'ai une deuxième base qui va me permettre de rentrer les informations suivantes : les reservations d'emplacements pour les prochains serveurs, ainsi que si des emplacements sont HS.

J'ai réussi à générer mes tableaux en récupérant les informations dans les deux bases, mais ou je coince c'est pour la mise à jour. En effet, si je demande une mise à jour, tout mon tableau se met à jour ...

En gros voici le cheminement de mon script :
- Je cherche les châssis de type xxx
- Je les affiches avec l'information SAN ou pas SAN
- Je construit un tableau de 8 cases avec les informations suivantes
- si je trouve quelque chose dans la base une : j'affiche
- sinon je regarde base 2
- si kk chose j'affiche plus un bouton pour supprimer la reservation
- si rien du tout je demande les infos pour reserver.



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
<?php
	include("connect.php");
	$num = $_GET['num'];
	$req = "SELECT EnclosureName, SAN FROM ActiveOnBoards WHERE Repartition=$num ORDER BY EnclosureName";
	$tablo = mssql_query($req) or exit(mssql_error());
	while ($recherche = mssql_fetch_array($tablo))
		{?>
			<fieldset class="fieldDem">
				Chassis <?php 	
								echo $recherche['EnclosureName']; // affiche le nom du châssis et s'il a du SAN ou non
								if ($recherche['SAN']=="1") echo " avec SAN";
								else echo " sans SAN";
								$chassis = $recherche['EnclosureName']
						?>
				<table border="2" width="100%" Color="black">
					<tr>
						<?php
						for ($i=1; $i<9; $i++) //construit la première zone pour les lames des slots 1 à 8
						{ 
							//requete qui tape dans la base Blade qui se met à jour toute seule
							$req2 = "SELECT SerialNumber, Enclosure, Slot, Model FROM Blades WHERE Enclosure='$chassis' AND Slot=$i";
							$tablo2 = mssql_query($req2) or exit(mssql_error());
							$rechercheBlade = mssql_fetch_array($tablo2);
 
							//requete qui tape dans la base pour reservation
							$req3 = "SELECT * FROM BladesReserved WHERE Enclosure='$chassis' AND Slot=$i";
							$tablo3 = mssql_query($req3) or exit(mssql_error());
							$rechercheResa = mssql_fetch_array($tablo3)
 
						?>
							<td width="10%" class="menu" valign=top>								
								<?php
									switch ($rechercheBlade['Slot'])//recherche dans la base qui se met à jour toute seule
										{
										case $i://on check si il y a une entrée en base pour ce slot													{
											echo $i;
											?>
											<FONT size=2><br>	
											<?php
											echo 'SerialNumber:<br>';
											$SN= $rechercheBlade['SerialNumber'];
											echo substr("$SN",0,9);	
											echo '<br>Model:<br>';
											echo $rechercheBlade['Model'];
											break;
										default://si rien en base alors :
											switch ($rechercheResa['Slot'])//recherche dans la base de reservation
												{
												case $i:
													echo $i;
													?>
													<FONT size=1 color=blue>
													<form name="Delete" method="post">
													<?php
													echo 'SerialNumber: ';
													echo $rechercheResa['SerialNumber'];	
													echo '<br>Model: ';
													echo $rechercheResa['Model'];
													echo '<br>Projet: ';
													echo $rechercheResa['Project'];
													echo '<br>Reserve le: <br>';														
													echo $rechercheResa['Date'];
													?>
													<input type="submit" name="Delete" value="Delete"/>
													</form>
													<?php
													if (isset ($_POST['Delete']))
														{
														//On prépare la commande sql d'insertion
														$sql = "DELETE FROM BladesReserved WHERE Enclosure='$chassis' AND Slot=$i";
														echo $sql;
														/*on lance la commande (mysql_query) et au cas où,
														on rédige un petit message d'erreur si la requête ne passe pas (or die)
														(Message qui intègrera les causes d'erreur sql)*/
														mssql_query ($sql);
														//mssql_free_result ($sql);
														// on ferme la connexion
														//mssql_close();
														}
													break;
												default:
													echo $i;
													?>
													<FONT size=1><br>
													<form name="MAJ" method="post" action="inventaires.php?num=<?php echo $num?>">
													<input type=text maxlength="11" size="13" name=SerialNumber value=SerialNumber>
													<select name="Model">
													<option value="choix1">ProLiant BL460c</option>
													<option value="choix2">ProLiant BL480c</option>
													<option value="choix3">ProLiant BL620c</option>
													<option value="choix4">server BL870c</option>
													<option value="choix4">HP SB40c</option>
													</select>
													<input type=text maxlength="11" size="13" name=Project value=Project>
													<input type="checkbox" name="case" id="case" /> <label for="case">HS </label><input type="checkbox" name="case" id="case" /> <label for="case">Reserved</label>
													<input type="submit" name="MAJ" value="MAJ"/>
													</form>
													<?php
													if (isset ($_POST['MAJ']))
														{
														//On construit la date d'aujourd'hui strictement comme sql la construit
														$today = date("d-m-y");
														echo $today;
														//On prépare la commande sql d'insertion
														$sql = "INSERT INTO BladesReserved VALUES('$chassis','$i','$SerialNumber','$Model','$Project','$today','$case')";
														echo $sql;
														/*on lance la commande (mysql_query) et au cas où,
														on rédige un petit message d'erreur si la requête ne passe pas (or die)
														(Message qui intègrera les causes d'erreur sql)*/
														mssql_query ($sql);
														// on ferme la connexion
														//mssql_close();														
														}
												}
										}
								?>
							</td>
							<?php		
						}
						?>
					</tr>
Je sais que mes variables pour mon deuxième formulaires (MAJ) ne sont pas bonnes, je ne sais pas encore comment les renseigner.

Voici un petit apercu de ce ca donne :

Si vous trouvez que ce n'est pas clair n'hesitez pas. je répondrais avec plaisir.

Merci d'avance pour vos conseils