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 :

tableau avec cases à cocher


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 9
    Par défaut tableau avec cases à cocher
    bonjour je suis débutant en php en faite j'ai un tableau dynamique en php a chaque fois que j'insère un produit il m'affiche son ID son nom et le nombre de composant du produit . ( je travail avec mysql comme base de données ) le problème c'est que je veux dans la dernière colonne mettre des case a cocher pour chaque ligne une case a cocher afin de sélectionner le produit correspondant et après je dois ajouter un bouton qui sélectionne uniquement pour les lignes dont la case est cochée. et affiches les composant de ces produits . voila le code .
    merci .

    Code php : 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
      <?php
     
    	$dbhost="localhost";
    	$dblogin="root";
    	$dbpassword="";
    	$dbname="gscop";
     
    	mysql_connect($dbhost,$dblogin,$dbpassword) or die("connexion au
     serveur impossible");
    	mysql_select_db($dbname) or die("base de donn&eacute;e inexistante");
     
    	$req= "SELECT `id_produit`,`nom_produit`,`nbr_composant` FROM
     `produits` ORDER BY `id_produit`";  
     
    	$result=mysql_query($req);
    	if($row=mysql_fetch_array($result))
    	{
     
    		echo("<table width=300 height=280 border=0 cellpadding=0
     cellspacing=0 ><tbody><tr><td height=180 align=center valign=top><table 			border=1 cellpadding=0 cellspacing=0 >");
    		echo("    <tr>   <th>ID</th> <th>Libelle</th> <th>Nombre de
     composant</th> <th>selection</th>  </tr>");
     
    		  	echo '<tr>';
    			echo'<td><b>'.$row[0].'</a>*</b></td>'; 
    			echo'<td><b>'.$row[1].'</a>*</b></td>'; 
    			echo'<td><b>'.$row[2].'</a>*</b></td>'; 
    			echo'<td><b><input type="checkbox" value="1" name="pr"='.$row[0].'&NomProduit='.$row[1].'">'.$row[3].'</a>*</b></td>'; 
    			echo'</tr>';  
     
     
     
     
    		 while ($row=mysql_fetch_array($result)) 
    		 {
    		  	echo '<tr>';
    			echo'<td><b>'.$row[0].'</a>*</b></td>'; 
    			echo'<td><b>'.$row[1].'</a>*</b></td>'; 
    			echo'<td><b>'.$row[2].'</a>*</b></td>'; 
    			echo'<td><b><input type="checkbox"  value="1" name="pr"='.$row[0].'&NomProduit='.$row[1].'">'.$row[3].'</a>*</b></td>'; 
    			echo'</tr>'; 
     
    		 } 
     
     	}
     	else
     	{
    		echo("<table width=300 height=280 border=0 cellpadding=0
     cellspacing=0 color:white ><tbody><tr><td height=180 align=center
     valign=top><table border=0 cellpadding=0 cellspacing=0>");
     		echo ("<br><br> <center><b>aucun produit n'est disponible  ");
     
     	}
    	mysql_close();
     
    	?>
           </p>
           <p align="center">
     
             <input name="button" size="30" type="submit" class="input2" value="valider" onClick="">
           </p>
         </div>
    </table>
    </td>
    </tr>
    </tbody></table>

  2. #2
    Membre chevronné Avatar de SphynXz
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 439
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo'<td><b><input type="checkbox" value="1" name="pr"='.$row[0].'&NomProduit='.$row[1].'">'.$row[3].'</a>*</b></td>';
    Kézako???

    coté navigateur ca ferait quelque chose comme...

    <input type="checkbox" value="1" name="pr"=69&Nomproduit=crayon">


    Quoiqu'il en soit, un checkbox peut avoir n'importe quoi comme valeur, pas simplement 0 ou 1 comme beaucoup trop de gens le pensent.
    Si tu donnes une valeur dynamique à l'attribut name. comment veux-tu récupérer la valeur de ce champ?

    Tu ne peux savoir ce qui à été coché, tu ne peux donc savoir comment s'apellera la variable !

    1 : Au final, c'est la valeur qu'on veux récupérer gràce au nom. On va donc fixer le nom! et mettre en valeur ce qu'on veux afficher

    2 : $row[0], ces variables sont des variables tableau comme tu le vois. Sache qu'en HTML, tout du moins pour les formulaires, cette syntaxe existe
    et elle permet de donner un même nom à plusieurs champs de formulaire, pour récupérer à la fin un tableau contenant différente valeurs

    3 : Tableau + Checkbox = Alléluia! Et oui maintenant qu'on à compris ca. on n'à plus qu'à donner comme name 'produit[]' à tout nos checkbox! De cette manière coté php on saura que tout ce qui est contenu dans produit[] correspond aux produits qui on été cochés

    Ce qui donnerais quelque chose comme... :

    Code php/html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo'<td><b><input type="checkbox" value="'.$row[1].'" name='produit[]'>'.$row[3].'</a>*</b></td>';

    coté php tu aura une variable super global $_POST['produit'] que tu pourra lire de cette manière :

    $_POST['produit'][0] = premier produit coché
    $_POST['produit'][1] = second produit coché
    ...

    à toi de boucler sur cette variable et le tour est joué

Discussions similaires

  1. [AC-2003] Tableau Double entrées avec case à cocher
    Par meud007 dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/05/2012, 21h40
  2. Réponses: 13
    Dernier message: 10/09/2009, 12h42
  3. [AC-2003] Tracage des lignes d'un tableau avec case a cocher
    Par isabelle b dans le forum IHM
    Réponses: 2
    Dernier message: 25/05/2009, 22h44
  4. TreeView avec case à cocher
    Par da_latifa dans le forum Delphi
    Réponses: 9
    Dernier message: 07/10/2006, 01h01
  5. [CR] Création de tableau et case à cocher
    Par aysse dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 26/11/2003, 17h07

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