Problème avec les checkbox

Résolu/Fermé
secret Messages postés 7 Date d'inscription lundi 6 août 2012 Statut Membre Dernière intervention 25 janvier 2013 - 6 août 2012 à 23:15
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 - 7 août 2012 à 14:03
Bonsoir,

Je débute en PHP
j'ai un tableau dont une des colonnes contient des cases à cocher.
comment faire en sorte qu'en sélectionnant le premier checkbox,le reste s'auto sélectionnent.je vous pris de m'aider

3 réponses

@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
Modifié par @lobotomix:~# rm -rf * le 7/08/2012 à 00:39
Bonjour j'ai une solution mais en JavaScript si cela vous interesse

<!DOCTYPE html>    
<html>    
 <head>    
  <meta charset="utf-8" />    
  <title>test</title>    
  
 </head>    
     
 <body>    
  <form>    
   <p>    
    Cochez les aliments que vous aimez manger :    
    <br />    
    <input type="checkbox" name="frites" id="frites" onclick=tout() />    
    <label for="frites">Frites</label>    
    <br />    
    <input type="checkbox" name="steak" id="steak" />    
    <label for="steak">Steak haché</label>    
    <br />    
    <input type="checkbox" name="epinards" id="epinards" />    
    <label for="epinards">Epinards</label>    
    <br />    
    <input type="checkbox" name="huitres" id="huitres" />    
    <label for="huitres">Huitres</label>    
   </p>    
   </form>    
   <script type="text/javascript">    
    function tout() {    
     var input = document.getElementsByTagName("input");    

     var c = input.length;    

     if(input[0].checked) {    
      for(var i = 0; i < c; i++) {    
       if(input[i].type == "checkbox") {    
        input[i].checked = true;    

       }    
      }    
     } else {    
      for(var i = 0; i < c; i++) {    
       input[i].checked = false;    
      }    
     }    
    }    
   </script>    
 </body>    
</html>    
</body>    
</html> 


"Un homme azerty en vaut deux"
0
secret Messages postés 7 Date d'inscription lundi 6 août 2012 Statut Membre Dernière intervention 25 janvier 2013
7 août 2012 à 01:01
je vous remercie pour votre réponse .j'ai testé votre solution elle marche a merveille mais quand j'ai ajouté la fonction dans mon code elle ne marche pas :(.voila mon code:
<?php
session_start();
$disabled=null;

?>
<head>
<title>Mini-projet</title>
<link rel="stylesheet" type="text/CSS" href="mini-projet.css"/>
</head>

<div id='conteneur'>
<div id="menu1">
<div class='button1'><a href='logout.php'>déconnexion</a></div><br><br><br><br><br>
<a href='admin.php'> Accueil</a><br><br>
<a href='comptesE.php'> Espace Etudiant</a><br><br>
<a href='comptesP.php'> Espace Enseignant</a><br><br>
<a href='comptesR.php'> Espace Responsable</a><br><br>
<a href='comptesS.php'> Espace Secrétaire</a><br><br>
<a href='comptesA.php'> Espace Administrateur</a><br><br>
</div>
<div id="header">
</div>
<div id="menu2">
<img src="notest.png">

</div>

<div id="body">
<h1 align='center' ><i> Bienvenue <?php echo $_SESSION["uti"] ?></font></i> </h1> <br><br><br>

<form method='POST' action='tableE.php'>
<input type='submit' value='mofidier' name='modifier' />
<input type='submit' value='supprimer' name='supprimer' />

<?php
if(isset($_POST['modifier']) && !empty($_POST['modifier']) )
echo"<input type='submit' value='confirmer' name='ok' align='right'>";

?>

<table width='500px' border='2'>
<tr><td> <input type="checkbox" name="all" id="all" onclick=tout() />
</td>
<td>CNE</td>
<td>Nom</td>
<td>Prenom</td>

</tr>

<?php

$connect=mysql_connect('localhost','root','');
mysql_select_db('gestiondesnotes');

$req=mysql_query("select CNE,Nom,prenom from etudiant");



// afficher tous les utilisateurs de la base de données
while($ligne=mysql_fetch_row($req)){
$Id=$ligne[0];
$nom=$ligne[1];
$prenom=$ligne[2];
if(isset($_POST['modifier']) && !empty($_POST['modifier']) && isset($_POST[$Id]) )
{
$disabled="";

}else {$disabled="disabled";}


echo "<tr>";
echo "<td><input type=\"checkbox\" name=".$Id." id=".$Id." />";
echo"<td>".$Id."</td>";
echo"<td><input type='text' name=".$Id.'-nom'." value=".$nom." ".$disabled."></td>";
echo" <td><input type='text' name=".$Id.'-prenom'." value=".$prenom." ".$disabled."></td>";
echo "</tr>";


// modification des données la base de données
if(isset($_POST['ok']) && !empty($_POST['ok'])){
if(isset($_POST[$Id.'-nom'])&& !empty($_POST[$Id.'-nom']) && isset($_POST[$Id.'-prenom']) && !empty($_POST[$Id.'-prenom'])){
$n= $_POST[$Id.'-nom'];

$p= $_POST[$Id.'-prenom'];

$req2=mysql_query("UPDATE etudiant SET Nom='$n', prenom='$p' WHERE CNE='$Id' ");
}}





// supprimer des utilisateurs de la base de données
if(isset($_POST['supprimer']) && !empty($_POST['supprimer']) && isset($_POST[$Id])){

$req1=mysql_query("delete from etudiant where CNE=".$Id."");

die("suppréssion terminée avec succés");
}

} ?>
</table>
</form>
<script type="text/javascript">
function tout() {
var input = document.getElementsByTagName("input");

var c = input.length;

if(input[0].checked) {
for(var i = 0; i < c; i++) {
if(input[i].type == "checkbox") {
input[i].checked = true;

}
}
}
else {
for(var i = 0; i < c; i++) {
input[i].checked = false;
}
}
}
</script> </div>
<div id="footer"><img src="header.jpg"> </div></div>
</body>
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 07:47
ok je pense comprendre, je la MODIFIE
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
Modifié par @lobotomix:~# rm -rf * le 7/08/2012 à 08:40
Alors voila autant etre clair je débute en prog surtout en php.Le problème a mon avis était que dans mon script je récupère tout les input et que je disais que mon premier input coché, coche tout les autres.Mais toit tu as trois input avant la première checkbox donc puisque que l'on compte a partir de zero je lui attribue le nombre 3. je sait pas si ça va fonctionner car tu fait apparaître des input a l'aide de echo, donc il ne sont pas encore présent en html.J'ai penser les récupérer via l'attribut name mais je sait pas trop récupérer les variable php en javascript mais je cherche. C est un bonne exercice.merci

<!DOCTYPE html> 
<html> 
 <?php 
 session_start(); 
 $disabled = null; 
 ?> 
 <head> 
  <title>Mini-projet</title> 
  <link rel="stylesheet" type="text/CSS" href="mini-projet.css"/> 
 </head> 
 <body> 
  <div id='conteneur'> 
   <div id="menu1"> 
    <div class='button1'> 
     <a href='logout.php'>déconnexion</a> 
    </div> 
    <br> 
    <br> 
    <br> 
    <br> 
    <br> 
    <a href='admin.php'> Accueil</a> 
    <br> 
    <br> 
    <a href='comptesE.php'> Espace Etudiant</a> 
    <br> 
    <br> 
    <a href='comptesP.php'> Espace Enseignant</a> 
    <br> 
    <br> 
    <a href='comptesR.php'> Espace Responsable</a> 
    <br> 
    <br> 
    <a href='comptesS.php'> Espace Secrétaire</a> 
    <br> 
    <br> 
    <a href='comptesA.php'> Espace Administrateur</a> 
    <br> 
    <br> 
   </div> 
   <div id="header"></div> 
   <div id="menu2"> 
    <img src="notest.png"> 
   </div> 
   <div id="body"> 
    <h1 align='center' ><i> Bienvenue <?php echo $_SESSION["uti"] 
    ?></font></i></h1> 
    <br> 
    <br> 
    <br> 
    <form method='POST' action='tableE.php'> 
     <input type='submit' value='mofidier' name='modifier' /> 
     <input type='submit' value='supprimer' name='supprimer' /> 
     <?php 
     if (isset($_POST['modifier']) && !empty($_POST['modifier'])) 
      echo "<input type='submit' value='confirmer' name='ok' align='right'>"; 
     ?> 

     <table width='500px' border='2'> 
      <tr> 
       <td> 
       <input type="checkbox" name="all" id="all" onclick=tout() /> 
       </td> 
       <td>CNE</td> 
       <td>Nom</td> 
       <td>Prenom</td> 
      </tr> 
      <?php 

      $connect = mysql_connect('localhost', 'root', ''); 
      mysql_select_db('gestiondesnotes'); 

      $req = mysql_query("select CNE,Nom,prenom from etudiant"); 

      // afficher tous les utilisateurs de la base de données 
      while ($ligne = mysql_fetch_row($req)) { 
       $Id = $ligne[0]; 
       $nom = $ligne[1]; 
       $prenom = $ligne[2]; 
       if (isset($_POST['modifier']) && !empty($_POST['modifier']) && isset($_POST[$Id])) { 
        $disabled = ""; 

       } else {$disabled = "disabled"; 
       } 

       echo "<tr>"; 
       echo "<td><input type=\"checkbox\" name=" . $Id . " id=" . $Id . " />"; 
       echo "<td>" . $Id . "</td>"; 
       echo "<td><input type='text' name=" . $Id . '-nom' . " value=" . $nom . " " . $disabled . "></td>"; 
       echo " <td><input type='text' name=" . $Id . '-prenom' . " value=" . $prenom . " " . $disabled . "></td>"; 
       echo "</tr>"; 

       // modification des données la base de données 
       if (isset($_POST['ok']) && !empty($_POST['ok'])) { 
        if (isset($_POST[$Id . '-nom']) && !empty($_POST[$Id . '-nom']) && isset($_POST[$Id . '-prenom']) && !empty($_POST[$Id . '-prenom'])) { 
         $n = $_POST[$Id . '-nom']; 

         $p = $_POST[$Id . '-prenom']; 

         $req2 = mysql_query("UPDATE etudiant SET Nom='$n', prenom='$p' WHERE CNE='$Id' "); 
        } 
       } 

       // supprimer des utilisateurs de la base de données 
       if (isset($_POST['supprimer']) && !empty($_POST['supprimer']) && isset($_POST[$Id])) { 

        $req1 = mysql_query("delete from etudiant where CNE=" . $Id . ""); 

        die("suppréssion terminée avec succés"); 
       } 

      } 
      ?> 
     </table> 
    </form> 
   </div> 
   <div id="footer"><img src="header.jpg"> 
   </div> 
  </div> 
  <script type="text/javascript"> 
   function tout() { 
    var input = document.getElementsByTagName("input"); 

    var c = input.length; 

    if(input[3].checked) { 
     for(var i = 0; i < c; i++) { 
      if(input[i].type == "checkbox") { 
       input[i].checked = true; 

      } 
     } 
    } else { 

     for(var i = 0; i < c; i++) { 
      if(input[i].type == "checkbox") { 
       input[i].checked = false; 
      } 
     } 
    } 
   } 
  </script> 
 </body> 
</html> 
</body> 
</html> 


"Un homme azerty en vaut deux"
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 08:44
De plus tu fera gaffe j'ai legerement modifier le script , j'ai rajouter une ligne. je cherche comment recperer des variables php en javascript et j'essaye de te faire un autre code car celui la j'ai des doute
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
7 août 2012 à 09:10
Si tu affiches les valeurs des variables php dans des champs, tu peux les récupérer avec JS.
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
Modifié par @lobotomix:~# rm -rf * le 7/08/2012 à 09:16
tu veu dire du genre
var essai = <?php echo $test ?>
je suis pas sur de comprendre désolé pas très doué
0
Freedomsoul Messages postés 509 Date d'inscription lundi 9 mai 2011 Statut Membre Dernière intervention 17 avril 2013 97
7 août 2012 à 09:21
non, non, mais via javascript tu peux récupérer différentes informations dans ta page HTML.

exemple:
<input id="nom" type="text" value="<?php echo $test ?>"/>

en javascript, tu pourrais récupérer la valeur de cette façon:
document.getElementById('nom').value
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 09:26
ha oui tres juste merci ce st pas bete du tout

je vais voir si le code que j'ai fait fonctionne chez lui et j'essaierai le cas échéant de le modifier avec ses conseil
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 08:50
je suis encore la et oui on se débarrasse pas de moi :/

dans mon script si
if(input[3].checked) { 
ne fonctionne pas essaye
if(input[2].checked) { 
je pense que cela a plus de chance d'aboutir en fait
0
secret Messages postés 7 Date d'inscription lundi 6 août 2012 Statut Membre Dernière intervention 25 janvier 2013
7 août 2012 à 14:02
ouiii ca a marché merci infiniment :D
0
@lobotomix:~# rm -rf *\ Messages postés 1392 Date d'inscription dimanche 1 juillet 2012 Statut Membre Dernière intervention 14 décembre 2012 208
7 août 2012 à 14:03
c est vrai j'aurais pas cru alors je suis content mettre resolu
0