IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Inserer plusieurs checkbox dans ma base [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut Inserer plusieurs checkbox dans ma base
    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.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Actuellement, tu as 3 tables :
    - SERVER
    - ENV
    - APP

    il te faut une table de relation/liaison.
    - RELATION
    contenant les champs :
    -- ID_REL => autoincrément
    -- ID_APP
    -- ID_SERVER
    -- ID_ENV

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    bonjour,

    oui effectivement il me faut une table pour faire la relation ...

    J'ai bien cette table, elle s'appelle LOCATION mais ca ne marche pas

    TABLE : LOCATION
    CHAMPS : ID_APP ID_ENV ID_SERVER

  4. #4
    Invité
    Invité(e)
    Par défaut
    Il faut ID_REL => autoincrément
    C'est un identifiant unique.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2012
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 284
    Par défaut
    ok c'est ajouté à ma table :

    TABLE : LOCATION
    CHAMPS : ID_REL ID_APP ID_ENV ID_SERVER

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion de plusieurs checkbox dans ma base
    Par snorky94 dans le forum Langage
    Réponses: 2
    Dernier message: 05/09/2012, 12h07
  2. Réponses: 5
    Dernier message: 21/04/2006, 12h03
  3. Récuperer valeurs d'une checkbox dans la base Mysql
    Par pod1978 dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 10/03/2006, 14h29
  4. Inserer une photo dans une base 8i à partir de form 6i
    Par armando123 dans le forum Forms
    Réponses: 3
    Dernier message: 20/06/2005, 19h01
  5. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo