Bonjour,
J'ai réalisé un site en php pour recenser les applications et les serveurs de ma société :
J'ai deux pages add_application.php (formulaire) et add_application_ok.php (traitement des données de mon formulaire)
Lorsque je creer une application je peux l'associer à un ou plusieurs serveurs et définir un envirronnement. Jusque la pas de problème.
cf capture d'écran.
add_application.php (formulaire)
add_application_ok.php (traitement des données de mon formulaire)
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 echo '<form method="post" action="add_application_ok.php">'; echo 'Nom : <br> <input type="text" name="NAME_APP" style="text-transform: uppercase"/><br/>'; // -----------------------[CHECKBOX + REQUETE MYSQL]----------------------- echo '<fieldset>'; echo '<legend>Lier l\'application à un serveur (Par défaut AUCUN) : </legend>'; // database connect $connect = mysql_connect("$serveur","$login","$pass"); mysql_select_db("$bd",$connect); // Select query pour ma liste de serveurs $sql = ("SELECT * FROM SERVER"); $query=mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while ($result = mysql_fetch_assoc($query)) { // affichage des noms de serveurs en checkbox echo '<div class="infoframe">'; echo "<INPUT TYPE=checkbox NAME=CHECK_SERVER[] value=".$result["ID_SERVER"].">".$result["NAME_SERVER"].""; // Select query pour ma liste d'environnements $sql3 = ("SELECT * FROM ENV"); $query3=mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error()); // on fait une boucle qui va faire un tour pour chaque enregistrement while ($result3 = mysql_fetch_assoc($query3)) { echo "<INPUT TYPE=checkbox NAME=CHECK_ENV[] value=".$result3["ID_ENV"].">".$result3["NAME_ENV"].""; } echo '<br />'; echo '</div>'; echo '<br />'; } echo '</fieldset>'; // -----------------------[CHECKBOX + REQUETE MYSQL]----------------------- echo '<input type="submit" value="Valider" />'; echo '</form>';
Si je coche q'un seul serveur et je lui associe un environnement, pas de problème je peux inserer les données dans ma table :
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 <?php //Recuperation valeurs formulaire $NAME_APP = $_POST['NAME_APP']; // database connect infos include "config.php"; // database connect $connect = mysql_connect("$serveur","$login","$pass"); mysql_select_db("$bd",$connect); ?> //insertion table APPLICATION $sql1 = ("INSERT INTO APPLICATION (NAME_APP, DESC_APP, DOC_APP, COM_APP, CODE_APP, DATE_APP, IP_REQ_APP) VALUES('$NAME_APP','$DESC_APP', '$DOC_APP', '$COM_APP', '$CODE_APP', '$datetime', '$IP_REQ_APP')"); $res1 = mysql_query($sql1) or die('Erreur SQL !<br>'.$sql1.'<br>'.mysql_error()); //recupération du dernier id généré pour reutilisation apres $ID_APP = mysql_insert_id(); foreach( $_POST['CHECK_SERVER'] AS $checkbox1) { $sql4 = ("INSERT INTO LOCATION VALUES('$ID_APP','$ID_ENV','$checkbox1')"); $res4 = mysql_query($sql4) or die('Erreur SQL !<br>'.$sql4.'<br>'.mysql_error()); }
ID_APP ID_ENV ID_SERVER
Ex cf capture d'écran :
Je selectione le serveur FRPIVSRV0720 et je l'associe à l'envirronnemnt de PRODUCTION.
avec mon foreach
Maintenant comment faire si je veux associer l'application XXX a plusieurs serveurs ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 foreach( $_POST['CHECK_SERVER'] AS $checkbox1) { $sql4 = ("INSERT INTO LOCATION VALUES('$ID_APP','$ID_ENV','$checkbox1')"); $res4 = mysql_query($sql4) or die('Erreur SQL !<br>'.$sql4.'<br>'.mysql_error()); }
ex :
FRPIVSRV0720 envirronnement de PRODUCTION.
FRPIVSRV1563 envirronnement de RECETTE.
Ca ne fonctionne pas ...
Merci d'avance pour votre aide.
Partager