Bonjour,

J'ai une table SERVER qui contient la liste de mes serveurs.

Les champs sont :

ID_SERVER NAME_SERVER DESC_SERVER

Une table ENV qui contient la liste de mes envirronnements.

ID_ENV NAME_ENV DESC_ENV

Une page qui permet f'afficher mes informations :

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
 
<?php 
 
include "config.php";
 
echo '<form method="post" action="test.php">';
 
// database connect
$connect = mysql_connect("$serveur","$login","$pass"); 
mysql_select_db("$bd",$connect);
 
// Select query pour ma liste de serveurs
$sql1 = ("SELECT * FROM SERVER");
$query1=mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
 
// on fait une boucle qui va faire un tour pour chaque enregistrement
	while ($result1 = mysql_fetch_assoc($query1))
	{
				// affichage des noms de serveurs en checkbox
				echo "<INPUT TYPE=checkbox NAME=CHECK_SERVER[] value=".$result1["ID_SERVER"].">".$result1["NAME_SERVER"]."";
 
				// Select query pour ma liste d'environnements
				$sql2 = ("SELECT * FROM ENV");
				$query2=mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
 
				// on fait une boucle qui va faire un tour pour chaque enregistrement
				while ($result2 = mysql_fetch_assoc($query2))
				{
				echo "<INPUT TYPE=checkbox NAME=CHECK_ENV[] value=".$result2["ID_ENV"].">".$result2["NAME_ENV"]."";
				}	
				echo '<br />';
				echo '<br />';
	}
 
echo '<input type="submit" value="Valider" />';
echo '</form>';		
 
		?>
Avec cette page j'obtient la liste de mes serveurs et de mes envirrronnements sous la forme :

FRPIVSRV0720 PRODUCTION PRE-PRODUCTION RECETTE

FRPIVSRV1833 PRODUCTION PRE-PRODUCTION RECETTE

FRPIVSRV1563 PRODUCTION PRE-PRODUCTION RECETTE


Quand je creer une application, je peux lui affecter 1 serveur et un environnements pour cette application.

Exemple :

APPLI TOTO :

Sur FRPIVSRV0720 PRODUCTION
Sur FRPIVSRV1833 RECETTE

Sous mysql ca va se traduire comme ca :

+--------+--------+-----------+
| ID_APP | ID_ENV | ID_SERVER |
+--------+--------+-----------+
| 1 | 1 | 1 |
| 1 | 2 | 2 |

Maintenant je ne vois pas comment faire pour enregistrer mes information en base quand plusieurs serveurs sont cochés :

Si je fais seulement :

APPLI TOTO :

Sur FRPIVSRV0720 PRODUCTION

+--------+--------+-----------+
| ID_APP | ID_ENV | ID_SERVER |
+--------+--------+-----------+
| 1 | 1 | 1 |

Ca fonctionne.

Si je fais comme dans mon exemple :

APPLI TOTO :

Sur FRPIVSRV0720 PRODUCTION
Sur FRPIVSRV1833 RECETTE

j'ai essayé ca mais ca ne marche pas :

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
 
<?php 
 
// database connect infos
include "config.php";
 
// database connect
$connect = mysql_connect("$serveur","$login","$pass"); 
mysql_select_db("$bd",$connect);
 
 
foreach(
$_POST['CHECK_SERVER'] AS $checkbox1 )
 
	{
	$sql1 = ("INSERT INTO LOCATION VALUES('TEST','$checkbox2','$checkbox1')");
	$res1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error());
	}
 
 
foreach(
$_POST['CHECK_ENV'] AS $checkbox2)
	{
	$sql2 = ("INSERT INTO LOCATION VALUES('TEST','$checkbox2','$checkbox1')");
	$res2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());	
	}
 
 
 
 
	?>
Avez vous une idée svp, je suis bloqué

Merci d'avance.