Insertion de plusieurs checkbox dans ma base
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)
Code:
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>'; |
add_application_ok.php (traitement des données de mon formulaire)
Code:
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());
} |
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 :
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
Code:
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());
} |
Maintenant comment faire si je veux associer l'application XXX a plusieurs serveurs ?
ex :
FRPIVSRV0720 envirronnement de PRODUCTION.
FRPIVSRV1563 envirronnement de RECETTE.
Ca ne fonctionne pas ...
Merci d'avance pour votre aide.