Fonction php "cochez tout"

Résolu
anthony428 Messages postés 102 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 29 mai 2012 - 27 juil. 2009 à 11:25
anthony428 Messages postés 102 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 29 mai 2012 - 28 juil. 2009 à 14:03
Bonjour,

j'ai une page php qui m'affiche des cases à cocher en fonction des résultats retournés dans ma base de données.
Le problème est que je souhaiterais avoir une case à cocher qui me permettrait de cocher toutes les autres cases de la page car dans le cas ou j'aurais 250 enregistrements, je ne veux pas que l'utilisateur ait à cocher 250 cases.

voici mon code :

<?php
...
?>
<form method="post">
Haut de page -


  <form name="export_resultat">
  


  

    
  

  </form>  
</form>
<?php
}
?>


Si quelqu'un pouvait m'aider, ce serait sympa.
merci d'avance.

6 réponses

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
28 juil. 2009 à 04:58
Bonjour,

Tu n'es pas sur le bon forum, puisque c'est un problème javascript.

Cela dit, il faut que tu utilises l'objet 'elements' :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
  <head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript">
      function cocheDecoche(formulaire, checked)
      {
        with (formulaire)
        {
          var nb = elements['data[]'].length;
          var i = 0;
          while (i < nb)
          {
            elements['data[]'][i].checked = checked;
            i++;
          }
        }
      }
    </script>
  </head>
  
    <form name="test" method="post" action="">
      checkbox 1   

      checkbox 2   

      checkbox 3   

      checkbox 4   

      checkbox 5   

      checkbox 6   

      checkbox 7   

      checkbox 8   

      checkbox 9   

      checkbox 10 

      checkbox 11 

      checkbox 12 

      checkbox 13 

      checkbox 14 

      checkbox 15 

      checkbox 16 

      checkbox 17 

      checkbox 18 

      checkbox 19 

      checkbox 20 

      
       
      
    </form>
  
</html>


Cordialement.

JC
3
Orange73 Messages postés 1375 Date d'inscription dimanche 28 novembre 2004 Statut Membre Dernière intervention 2 août 2011
27 juil. 2009 à 13:42
Hello,

il faut regarder du côté javascript :)

A+

-- Orange73 --

"L'homme n'est pas fait pour travailler, la preuve c'est que cela le fatigue" (Voltaire)
0
nautilus99 Messages postés 661 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 18 septembre 2009 1
27 juil. 2009 à 14:15
Bonjour,

Shining Star propose un script complet JavaScript qui fait exactement ce que tu demandes. Considères le comme un tutoriel et adaptes à ton propre code.
0
anthony428 Messages postés 102 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 29 mai 2012
27 juil. 2009 à 18:11
j'avais bien trouvé ce type de fonction mais c'est dans l'adaptation de mon script que je sèche un peu.
J'ai testé la fonction javascript ci dessous, en effet celle ci fonctionne lorsque je nomme ma chekbox "list" comme dans l'exemple mais lorsque j'essai d'adapter avec mes paramètres, ça coince.
J'ai donné comme nom à mes chekbox un nom unique data[].
Ce qui rend l'utilisation de la fonction impossible. En tout cas impossible à comprendre pour moi.

voici la fonction javascript :
<SCRIPT LANGUAGE="JavaScript">
function checkAll(field)
{
for (i = 0; i < field.length; i++)
field[i].checked = true ;
}

function uncheckAll(field)
{
for (i = 0; i < field.length; i++)
field[i].checked = false ;
}
</script>

et voici la partie du code qui appel la fonction :
<?php echo ""; ?>,
<?php echo "", $row['id_societe'],""; ?>,
<?php echo "", $row['nom_societe'],""; ?>,
<?php echo "", $row['ville'],""; ?>,
<?php echo "", $row['cp'],""; ?>,

----

,
,
,

<?php
echo "
"; 
}
?>
Haut de page -
[../index.php Retour à l'interface d'administration]






Si quelqu'un y voit plus clair que moi, qu'il m'éclaire de ses lumières.
Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
anthony428 Messages postés 102 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 29 mai 2012
28 juil. 2009 à 09:17
Merci beaucoup, ça fonctionne comme je le voulais !!!
Petite question bonus :
Ces résultats sont ensuite traités pour être transféré dans un fichier excel. Si je veux que le fichier excel généré avec ces enregistrements s'ouvre après être rempli, comment dois je procédé ?
Merci d'avance.
0
anthony428 Messages postés 102 Date d'inscription vendredi 18 août 2006 Statut Membre Dernière intervention 29 mai 2012
28 juil. 2009 à 14:03
ça y est j'ai trouvé, voici la fonction :

function forcerTelechargement($nom, $situation, $poids)
{
header('Content-Type: application/octet-stream');
header('Content-Length: '. $poids);
header('Content-disposition: attachment; filename='. $nom);
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($situation);
exit();
}


et le script qui appelle la fonction :
forcerTelechargement('nom-fichier.xls', './nom-fichier.xls', 1000000);


En espérant que ça puisse en aider d'autres.
0
Rejoignez-nous