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

Langage PHP Discussion :

Gestion case à cocher


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Gestion case à cocher
    Bonjour , j'ai un problème dans ma page , que je n'arrive pas a résoudre . J'ai une première page avec un "questionnaire " ou l'ont peut cocher plusieurs cases je voudrais renvoyer les donnés dans une base de données . Mais quand je fait envoyer il y a bien une "insertion ok" mais que des "0" ,"0"... dans ma base de données .
    ( j'ai mis "corp_metier "comme ca car je voudrais récupérer toutes les valeurs pour que sur une autre page ( ou dans la même si c'est possible ) je puisse mettre des "sous catégories" ( avec pose de cuisine : combien de meuble vous avez ? , m² de la pièce ...) si quelqu'un qui peut m'aider ca serait bien :-) Merci
    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
     
    	<tr>	                
             <td><label for="case1">Pose de cuisine</label></td><td><input name="corp_metier[]" type="checkbox" id="case1" value="1" /></td>
     
      </tr>  
     
        <tr>   
             <td><label for="case2">Electricité Général</label></td> <td><input name="corp_metier[]" type="checkbox"id="case2" value="1" /></td>
     
    	</tr>
     
        <tr>            
             <td><label for="case3">Maçonnerie et plâtderie</label></td><td><input name="corp_metier[]" type="checkbox" id="case3" value="1"/></td>
     
     
    	</tr>
     
        <tr>    
             <td><label for="case4">Fenêtres / Volets / Portes</label></td><td><input name="corp_metier[]" type="checkbox" id="case4"  value="1"/></td>
    	</tr> 
     
        <tr>              
            <td><label for="case5">Carrelage</label></td><td><input name="corp_metier[]" type="checkbox" id="case5" value="1"/></td>
        </tr> 
     
        <tr>            
             <td><label for="case6">Stores et fermetures</label></td><td><input name="corp_metier[]" type="checkbox" id="case6" value="1"/></td>
    	</tr> 
     
        <tr>
             <td><label for="case7">Plomberie et sanitaires</label></td><td><input name="corp_metier[]" type="checkbox" id="case7" value="1"/></td>
    	</tr> 
     
        <tr>            
             <td><label for="case8">Serrurerie et protection</label></td><td><input name="corp_metier[]" type="checkbox" value="1" id="case8"/></td>
    	</tr> 
     
        <tr>              
             <td><label for="case9">Chauffage et climatisation </label></td><td><input name="corp_metier[]" type="checkbox" value="1" id="case9"/></td>
    	</tr> 
     
        <tr>         
             <td><label for="case10">Peinture intérieure-Ravalement</label></td><td><input name="corp_metier[]" type="checkbox" value="1" id="case10"/></td>
    	</tr>
        <tr>
        	<td colspan="2" align="center"><input type="submit" value="envoyer" /></td>
        </tr>
    code php
    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
    <?php
    session_start();
    include 'config.php';
     
    if ($connect_sql = mysql_connect($dbhost,$dbuser,$dbpasswd))
    	{
    	if ($connect_db = mysql_select_db ($dbname))
     
    		{	
     
     
    			if ($requette = mysql_query("INSERT INTO corp_metier (C1,C2,C3,C4,C5,C6,C7,C8,C9,C10) VALUES ('$01','$02','$03','$04','$05','$06','$07','$08','$09','$010') "))
    				{
    				echo "insertion OK";
    				}
    			else
    				{
    				echo "insertion non OK";
    				}
    			}
    	else
    		{
    		echo "erreur de connection a la BDD";
    		}
    	}
    else
    	{
    	echo "Erreur de connection a la base SQL";
    	}
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    bonjour et bienvenu sur le forum,

    tout d'abord il faudrait revoir la structure de ta base de données.

    Disons qu'il s'agit de devis et créeons une table devis très simple

    t_devis
    ---
    devis_id, devis_date, devis_demandeur


    on a une liste de métiers, donc il faut une table des métiers ; on ne va quand meme pas créé toutes les cases a cocher une par une a la main non ?

    t_metier
    ---
    metier_id, metier_nom

    Sur le devis, l'utilisateur a choisi des métiers, créons donc une table devis_metier qui relier un devis avec des métiers
    tl_devis_metier
    ---
    devis_metier_id, devis_id, metier_id

    Et voila pour la partie base de donnée.
    Avec la table métier, on va pouvoir créer dynamiquement nos cases à cocher en lisant la base ; ces checkbox auront comme "value" l'id du métier (as-tu remarqué que toutes tes checkbox ont la meme valeur actuellement ?).
    Et on pourra insérer toutes les cases cochées dans notre table tl_devis_metier.

    ***

    Pour finir :
    un nom de variable ne peut pas commencer par un chiffre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Bonsoir , Merci pour avoir répondu .
    J'ai crées une base de donner comme tu me la conseillé j'arrive bien a affiché le contenu du array "t_metier" avec la commande "print_r($metier);" .
    maintenant je vais crée une table ( t_2_metier ) dans la quel il y aura une sous catégorie de chaque corps de métiers ( électricité // mettre une prise , mettre un éclairage ...)et faut que j'arrive a l'affichai que si l'utilisateur a coché électricité ( j'ai plein d'idée mais ces pas facile ...) . Merci encore

  4. #4
    Candidat au Club
    Inscrit en
    Juin 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Re , je n'arrive pas a faire ce que je veut je ces pas par ou commencer .
    j'ai ma première page avec les cases a coché (corps de métier,Description du bien,hauteur de plafond,meublé ou non ...)
    j'arrive a voir tous les résultats des cases coché et juste (type de bien) je ces pas comment mi prendre pour le reste ...
    ensuite je voudrais arriver sur une deuxième page qui donne des sous categorie des premier métier choisie .
    Puis sur une 3 ° page qui demande le nom du clien ...
    comment je pourrais faire ? Merci


    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    <FORM NAME="devis" ACTION="traitement2.php" METHOD="POST">
     
    			<TABLE  WIDTH=298 BORDER=0 align="center" CELLPADDING=5 CELLSPACING=0 >
    			<caption>Corps de métier </caption>	
    				<tr>	                                
             			<td><label for="case1">Pose de cuisine</label></td><td><input name="metier[]" type="checkbox" id="case1" value="Pose de cuisine" /></td>         
      				</tr>  
     
    				<tr>           
            			 <td><label for="case2">Electricité Général</label></td> <td><input name="metier[]" type="checkbox"id="case2" value="Electricité Général" /></td>        
    				</tr>
     
       				 <tr>            
       				      <td><label for="case3">Maçonnerie et plâtderie</label></td><td><input name="metier[]" type="checkbox" id="case3" value="Maçonnerie et plâtderie"/></td>                
    				</tr>
     
      				  <tr>    
        			     <td><label for="case4">Fenêtres / Volets / Portes</label></td><td><input name="metier[]" type="checkbox" id="case4"  value="Fenêtres / Volets / Portes"/></td>
    				</tr> 
     
       				 <tr>                               
        			    <td><label for="case5">Carrelage</label></td><td><input name="metier[]" type="checkbox" id=		"case5" value="Carrelage"/></td>                    
    			  </tr> 
     
      				  <tr>            
       				      <td><label for="case6">Stores et fermetures</label></td><td><input name="metier[]" type="checkbox" id="case6" value="Stores et fermetures"/></td>
    				  </tr> 
     
       				 <tr>
         			    <td><label for="case7">Plomberie et sanitaires</label></td><td><input name="metier[]" type="checkbox" id="case7" value="Plomberie et sanitaires"/></td>
    				</tr> 
     
       				 <tr>            
        			     <td><label for="case8">Serrurerie et protection</label></td><td><input name="metier[]" type="checkbox" value="Serrurerie et protection" id="case8"/></td>
    				</tr> 
     
       				 <tr>              
         			    <td><label for="case9">Chauffage et climatisation </label></td><td><input name="metier[]" type="checkbox" value="Chauffage et climatisation" id="case9"/></td>
    	</tr> 
     
        			<tr>         
         			    <td><label for="case10">Peinture intérieure-Ravalement</label></td><td><input name="metier[]" type="checkbox" value="Peinture intérieure-Ravalement" id="case10"/></td>
    				</tr>
    			</TABLE>
     
     
                 <TABLE align="center" >
                 <caption>Description du bien</caption>	
               		 <tr>    
     
       			       <td>Type de bien</td>
     
    				</tr> 
                    <tr>    
       			       <td><label for="case11">Appartement</label><input name="bien[]" type="radio" value="Appartement" id="case11"/>
                       		<label for="case12">Pavillon</label><input name="bien[]" type="radio" value="Pavillon" id="case12"/>
                            <label for="case13">Atelier / loft </label><input name="bien[]" type="radio" value="Atelier / loft " id="case13"/>
                       </td>
     
    				</tr>
     
                    <tr>   
       			       <td><br> <br> <br> Occupé/meublé</td>               
    				</tr>  
                    <tr>    
       			       <td>
                       		<label for="case14">Oui</label><input name="om[]" type="radio" value="meublé" id="case11"/>
                       		<label for="case15">non</label><input name="om[]" type="radio" value="non meublé" id="case12"/>
                       </td>               
    				</tr>   
                           <br> <br>       
                     <tr>    
       			       <td>
                       <br> <br> Hauteur de plafond
                         <input type"texte" name="hauteur">m
                       </td>                                
    				</tr> 
     
                    <tr>    
       			       <td> <br> <br> État général<select name="état[]"> <option value="[moyen]">moyen</option> <option value="[mauvais]">mauvais</option> <option value="[trés mauvais]">trés mauvais</option></select>
                       </td>                               
    				</tr>
     
                     <tr>
        	<td colspan="2" align="center"></td>
    			   </tr>
     
                   <br> <br> <br> <br>
                   <td align="center" >
               			 <input name="Envoyer" type="submit" value="Envoyer" />
              	     </td>
     
                 </TABLE>
    PHP
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    <?php
     
     
    include 'config.php';
     
    //PAGE 1
    $metier[]=$_POST['metier']; 
    $bien[]=$_POST['bien'];
    $om[]=$_POST['om'];
    $hauteur[]=$_POST['hauteur'];
    $etat[]=$_POST['etat'];
     
     
    if (!isset($metier)) { $metier = ''; }
    if (!isset($bien)) { $bien = ''; }
    if (!isset($om)) { $om = ''; }
    if (!isset($hauteur)) { $hauteur = ''; }
    if (!isset($etat)) { $etat = ''; }
     
     
    		if ($connect_sql = mysql_connect($dbhost,$dbuser,$dbpasswd))
    			{
    			if ($connect_db = mysql_select_db ($dbname))
     
    				{	
     
     
    					if ($requette1 = mysql_query("INSERT INTO t_metier (metier_nom) VALUES ('$metier') "))
    						{
    						echo "insertion metier OK\n"; 
    						}
    					else
    						{
    						echo "insertion metier non OK\n";
    						}
     
    				{	
     
     
    					if ($requette1 = mysql_query("INSERT INTO t_bien (bien,om,hauteur,état) VALUES ('$bien', '$om', '$hauteur' ,'$etat') "))
    						{
    						echo "insertion bien OK\n";
    						}
    					else
    						{
    						echo "insertion bien non OK\n";
    						}
    				}
    				}
    			else
    				{
    				echo "erreur de connection a la BDD";
    				}
    			}
    		else
    			{
    			echo "Erreur de connection a la base SQL";
    			}
     
    echo '<pre>';
    print_r($metier);
    print_r($bien);
    echo '</pre>';
     
     
     
     
     
    ?>
    résulat
    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
     
     
    Notice: Undefined index: etat in C:\wamp\www\traitement2.php on line 20
    insertion metier OK insertion bien non OK
     
    Array
    (
        [0] => Array
            (
                [0] => Pose de cuisine
                [1] => Electricit� G�n�ral
                [2] => Ma�onnerie et pl�tderie
                [3] => Fen�tres / Volets / Portes
                [4] => Carrelage
                [5] => Stores et fermetures
                [6] => Plomberie et sanitaires
                [7] => Serrurerie et protection
                [8] => Chauffage et climatisation
                [9] => Peinture int�rieure-Ravalement
            )
     
    )
    Array
    (
        [0] => Array
            (
                [0] => Pavillon
            )
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
     
    --
    -- Base de données: `devis`
    --
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `t_bien`
    --
     
    CREATE TABLE IF NOT EXISTS `t_bien` (
      `bien_id` int(11) NOT NULL AUTO_INCREMENT,
      `bien` varchar(50) NOT NULL,
      `om` varchar(2) NOT NULL,
      `hauteur` varchar(5) NOT NULL,
      `état` varchar(20) NOT NULL,
      PRIMARY KEY (`bien_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `t_bien`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `t_client`
    --
     
    CREATE TABLE IF NOT EXISTS `t_client` (
      `ID` int(11) NOT NULL,
      `Nom` varchar(20) NOT NULL,
      `Prenom` varchar(20) NOT NULL,
      `Mail@` varchar(20) NOT NULL,
      `Adresse` varchar(50) NOT NULL,
      `Tel fixe` varchar(14) NOT NULL,
      `Tel portable` varchar(14) NOT NULL,
      `code postal` varchar(5) NOT NULL,
      `ville` varchar(20) NOT NULL,
      `Date` date DEFAULT NULL,
      PRIMARY KEY (`ID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `t_client`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `t_devis`
    --
     
    CREATE TABLE IF NOT EXISTS `t_devis` (
      `devis_id` int(11) NOT NULL AUTO_INCREMENT,
      `devis_date` varchar(50) NOT NULL,
      `devis_demandeur` varchar(50) NOT NULL,
      PRIMARY KEY (`devis_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
     
    --
    -- Contenu de la table `t_devis`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `t_devis_metier`
    --
     
    CREATE TABLE IF NOT EXISTS `t_devis_metier` (
      `devis_metier_id` int(11) DEFAULT NULL,
      `devis_id` int(11) NOT NULL,
      `metier_id` int(11) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
     
    --
    -- Contenu de la table `t_devis_metier`
    --
     
     
    -- --------------------------------------------------------
     
    --
    -- Structure de la table `t_metier`
    --
     
    CREATE TABLE IF NOT EXISTS `t_metier` (
      `metier_id` int(11) NOT NULL AUTO_INCREMENT,
      `metier_nom` varchar(50) NOT NULL,
      PRIMARY KEY (`metier_id`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=49 ;
     
    --
    -- Contenu de la table `t_metier`
    --
     
    INSERT INTO `t_metier` (`metier_id`, `metier_nom`) VALUES
    (1, 'Array'),

Discussions similaires

  1. [PHP 5.2] Gestion de cases à cocher[][] grisées ou non
    Par LadyArwen dans le forum Langage
    Réponses: 7
    Dernier message: 28/05/2010, 11h46
  2. [AC-2003] Gestion des cases à cocher
    Par vlksoft dans le forum IHM
    Réponses: 6
    Dernier message: 21/09/2009, 19h22
  3. [MySQL] Gestion de cases à cocher
    Par zizou86 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/02/2008, 16h12
  4. gestion des Boutons & Cases à Cocher
    Par FIRE_FR dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/12/2007, 16h19
  5. Tableau paginé + gestion cases à cocher
    Par lili2704 dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/06/2007, 18h02

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