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 :

Insertion checkbox multiples en ligne 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 Insertion checkbox multiples en ligne dans ma base.
    Bonjour,

    Je réalise un site web en interne permettant de referencer mes applications et mes serveurs. Pour savoir quel(s) serveur(s) héberge quelle appli(s) et quelle(s) appli(s) est hébergée sur quel(s) serveur(s).

    Jusque la rien de compliqué.

    J'ai un formulaire pour creer une nouvelle application.

    Cette application peut etre installée sur un ou plusieurs serveurs et correspondre à plusieurs envirronnements.


    Ex je creer l'application APPTEST cf capture d'écran 1

    je vais la lier à un ou plusieurs serveurs.

    APPTEST

    Est installée sur le serveur FRPIVSRV0720 et c'est de la production.

    Elle est installée sur FRPIVSRV1563 et c'est de la recette

    Juste que la pas de problème, ca enregistre bien dans ma table HOST
    ID_APP ID_ENV ID_SERVER
    21 1 1
    21 4 3

    les infos que je veux sont bien enregistrées dans la base. Mon appli APPTEST ayant pour ID (21) est en production (1) sur le serveur (1) et en recette (4) sur le serveur (3).

    Maintenant ce que je voudrais faire c'est associer une appli à plusieurs envirronnements sur le meme serveur.

    EX appli : APPTEST2 est installée sur le SERVEUR FRPIVSRV0720 et c'est à la fois de la production et de la recette et du developpement.

    Ce qui donne FRPIVSRV0720 et les 3 checkboxs cochées

    cf capture 2.

    Comment faire pour que ca donne ca :

    ID_APP ID_ENV ID_SERVER
    22 1 1
    22 4 1
    22 5 1

    Actuellement ca me donne ca :

    22 1 1
    22 4 0
    22 5 0
    avec l'erreur suivante :
    Notice: Undefined offset: 1 in /var/www/html/cmdb/test1.php on line 38 Notice: Undefined offset: 2 in /var/www/html/cmdb/test1.php on line 38
    Mon code est le suivant :

    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
     
    <?php 
    // database connect infos
    include "config.php";
     
     
    echo '<form method="post" action="test1.php">';
     
    echo 'Nom : <br> <input type="text" name="NAME_APP" style="text-transform: uppercase"/><br/>';
     
     
    // 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 "<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 '<input type="submit" value="Valider" />';
    echo '</form>';	
     
    ?>
    Traiement du 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
     
    <?php 
     
    include "config.php";
     
    // database connect
    $connect = mysql_connect("$serveur","$login","$pass"); 
    mysql_select_db("$bd",$connect);
     
     
    $NAME_APP = $_POST['NAME_APP'];
    $ID_SERVER = $_POST['CHECK_SERVER'];
     
    $ID_ENV = $_POST['CHECK_ENV'];
     
     
    //insertion table APPLICATION
    $sql1 = ("INSERT INTO APPLICATION (NAME_APP) VALUES('$NAME_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();
     
    echo $NAME_APP;
    echo $ID_APP;
     
    foreach($ID_ENV AS $checkbox => $value)
    	{
    $sql4 = ("INSERT INTO HOST VALUES('$ID_APP','".$ID_ENV[$checkbox]."','".$ID_SERVER[$checkbox]."')");
    $res4 = mysql_query($sql4) or die('Erreur SQL !<br>'.$sql4.'<br>'.mysql_error());
     
    	}	
     
    ?>

    A mon avis ce qui cloche est juste dans la boucle foreach mais comment faire svp ??

    Merci d'avance.
    Images attachées Images attachées   

  2. #2
    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

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

Discussions similaires

  1. insertion automatique de plusieurs lignes dans mysql
    Par dejiein dans le forum Requêtes
    Réponses: 2
    Dernier message: 02/06/2006, 10h41
  2. Réponses: 1
    Dernier message: 09/05/2006, 12h00
  3. [VBA-E]insertion automatique d'une ligne dans un tableau
    Par janus82 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/04/2006, 15h42
  4. Problème de suppression de ligne dans ma base !
    Par gregman dans le forum ASP
    Réponses: 2
    Dernier message: 21/05/2005, 08h14
  5. Réponses: 4
    Dernier message: 15/01/2005, 07h33

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