sélectionner checkall - impossible [Résolu]

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : sélectionner checkall - impossible [Résolu]

Re: sélectionner checkall - impossible

par chero9000kee » 19 juin 2011, 20:14

Merci pour votre aide, ça fonctionne :
<script>
function checkAll(event) {
eSrc=(document.all)?event.srcElement:event.target;
cbs=eSrc.form.elements;
for(i=1;i< cbs.length;i++)
if(cbs.type=='checkbox')
cbs.checked=eSrc.checked;
}
</script>

Re: sélectionner checkall - impossible

par chero9000kee » 18 juin 2011, 12:38

Je l'ai fait, mais sa ne fonctionne toujours pas.

Peux tu m'expliquer un peu, s'il te plait, pour le "checkState".
Je l'ai 2 fois :
sélection de TOUS
1).
echo "<td><input type=\"checkbox\" name=\"checkState\" onClick=\"checkState('')\" value=\"checkbox\"($case== true)?\" \" />[b]Tous[/b]</td>";
et ceux que je selectionne individuellement
2).
echo "<td><div id='email' align='center' ><input name='checkState' type='checkbox' value='$mail' $checked></div></td>";

Re: sélectionner checkall - impossible

par moogli » 17 juin 2011, 18:25

hum
de
<SCRIPT LANGUAGE="JavaScript">
$(document).ready( // une fois la page chargée
$('input[name="checkState"]').click(function() { // détecte le clic de ta case checkState
$(":checkbox").attr('checked', $(this).attr('checked')); // coche ou décoche toutes les cases
});
);
</script>
</head>
<BODY oncontextmenu="return thekingoftheweb()">
<script type="text/javascript" src="javascript/wz_tooltip.js"></script>
<script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>

a

<script type="text/javascript" src="javascript/wz_tooltip.js"></script>
<script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
<SCRIPT LANGUAGE="JavaScript">
$(document).ready( // une fois la page chargée
$('input[name="checkState"]').click(function() { // détecte le clic de ta case checkState
$(":checkbox").attr('checked', $(this).attr('checked')); // coche ou décoche toutes les cases
});
);
</script>
</head>
<BODY oncontextmenu="return thekingoftheweb()">

@+

Re: sélectionner checkall - impossible

par chero9000kee » 17 juin 2011, 17:20

Je te remercie pour ton aide, mais Je ne suis pas sur d'avoir compris.
J'ai effectué les changements si-dessous, mais ça ne fonctionne toujours pas.
Voila mon code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href="design/style.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE="JavaScript">

$(document).ready( // une fois la page chargée
  $('input[name="checkState"]').click(function() {  // détecte le clic de ta case checkState
    $(":checkbox").attr('checked', $(this).attr('checked')); // coche ou décoche toutes les cases
  });
);
</script>
 <?php
 // form: crée ou pas le checked sur les champs radios et checkbox
function form_check($mail,$value){
//$checked = ' checked="checked"';
$checked = ' checked=""';
if(isset($_POST[$mail]) && $_POST[$mail]===$value){
return $checked;
}else{
return false;
}
}
?>
</head>
<BODY oncontextmenu="return thekingoftheweb()">
<script type="text/javascript" src="javascript/wz_tooltip.js"></script>
<?php
// ACCES A LA BASE DE DONNEE
include "config.php";

$mail = $_POST['mail'];

//REQUETE SUR LA TABLE PROPRIOS
$sql_query = "SELECT * FROM
    `clients` ORDER BY mail DESC";
    //$sql_query = 'SELECT * FROM `clients` ORDER BY mail DESC LIMIT '.$limite.','.$nombre.'';
$result = mysql_query($sql_query);
if (!$result) {
	   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
	      exit;
}

echo    "<form name='email' method='post' action='envoimail.php?clients=".$mail."' />";
echo    "<table align='center' class='liste'>";
           echo "<div id=\"div_chck\">";
	       echo "<tr>";
                echo "<td><input type=\"checkbox\" name=\"checkState\" onClick=\"checkState('')\" value=\"checkbox\"($case== true)?\" \" />Tous</td>";
                echo "<td>Soci&eacute;t&eacute;e</td>";
                echo "<td>Civilit&eacute;</td>";
                echo "<td>Nom</td>";
                echo "<td>Pr&eacute;nom</td>";
                echo "<td>Adresse</td>";
                echo "<td>CP</td>";
	       		echo "<td>Ville</td>";
	       		echo "<td>Tel</td>";
                echo "<td>Fax</td>";
                echo "<td>Portable</td>";
	       		echo "<td>Mail</td>";
	       echo "</tr>";

while($row=mysql_fetch_array($result)) {
	       $id= $row['ID'];
           $intitule= $row['intitule'];
           $civilite= $row['civilite'];
           $nom = $row['nom'];
           $prenom = $row['prenom'];
	       $adresse= $row['adresse'];
	       $cp = $row['CP'];
	       $ville= $row['Ville'];
           $tel = $row['tel'];
           $fax = $row['_Fax'];
           $port = $row['port'];
	       $mail = $row['mail'];

 // pour un bouton checkbox
                echo "<tr>";
                $checked = $value['checkState']=0 ? "checked='checked'": "";
                //echo '<input name="email" type="checkbox" value="$mail" ' . $checked .'>';
                //echo '<input name="option1" type="checkbox" value="$mail" '.form_check('option1','mail').' /> ',"\r\n";
                //echo "<td><div id='checkState' align='center' ><input type='checkbox' name='$mail[]' id='checkState' value='".$mail."' onClick='checkState('');' /></div></td>";
                echo "<td><div align='center' ><input name='checkState' type='checkbox' value='$mail' $checked></div></td>";
                //echo "<td align='center' ><input type='checkbox' name=".$mail['mail']." value=".$mail['mail']." onClick='checkState()' /></td>";
                echo "<td>" . $intitule ."</td>";
                echo "<td>" . $civilite ."</td>";
	       		echo "<td>" . $nom ."</td>";
 	       		echo "<td>" . $prenom ."</td>";
 	       		echo "<td>" . $adresse ."</td>";
                echo "<td>" . $cp ."</td>";
                echo "<td>" . $ville ."</td>";
                echo "<td>" . $tel ."</td>";
                echo "<td>" . $fax ."</td>";
                echo "<td>" . $port ."</td>";
                echo "<td>" . $mail ."</td>";
    			echo "</td>";
                echo "</tr>";
}
   echo " </div>";
echo "</table>";
echo    ' <div align="center" > <input align="center" name="" type="submit" class="nav" id="envoyer" value="Envoyer" /></div>';

echo    " </form>";
mysql_close($sqllink);
?>
</body>
</html>

Re: sélectionner checkall - impossible

par moogli » 16 juin 2011, 14:20

hum, a tu essayé de mettre le script après l'inclusion de la lib ? (je suis pas certain que ça change mais ça me paraitrais logique de déclarer la lib avant de l'utiliser ;)

d'ailleur pour être propre l'inclusion des scrip devrait se faire dans le head ;)

@+

Re: sélectionner checkall - impossible

par chero9000kee » 16 juin 2011, 11:54

Je n'y arrive pas. J'en ai marre de passer des heures a chercher à comprendre.
Voici ce que j'ai fait :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<LINK href="design/style.css" rel="stylesheet" type="text/css">
<SCRIPT LANGUAGE="JavaScript">
$(document).ready( // une fois la page chargée
  $('input[name="checkState"]').click(function() {  // détecte le clic de ta case checkState
    $(":checkbox").attr('checked', $(this).attr('checked')); // coche ou décoche toutes les cases
  });
);
</script>
</head>
<BODY oncontextmenu="return thekingoftheweb()">
<script type="text/javascript" src="javascript/wz_tooltip.js"></script>
<script type="text/javascript" src="javascript/jquery-1.6.1.min.js"></script>
<?php
$mail = $_POST['mail'];
// Pour n'afficher que les champs remplis , recherche si il y a des champs vide .
$rsql="SELECT ";
for($i=1;$i<=$mail;$i++)
{
  if($i>1) $rsql = $rsql.",";
$rsql = $rsql."if(c$i,'','c$i est vide')";
}
$rsql="FROM `clients` ORDER BY mail != '' DESC";

// ACCES A LA BASE DE DONNEE
include "config.php";

//REQUETE SUR LA TABLE PROPRIOS
$sql_query = "SELECT * FROM

    `clients` ORDER BY mail DESC";

    //$sql_query = 'SELECT * FROM `clients` ORDER BY mail DESC LIMIT '.$limite.','.$nombre.'';
$result = mysql_query($sql_query);
if (!$result) {
           echo 'Impossible d\'exécuter la requête : ' . mysql_error();
              exit;
}

// form: crée ou pas le checked sur les champs radios et checkbox
function form_check($mail,$value){
//$checked = ' checked="checked"';
$checked = ' checked=""';
if(isset($_POST[$mail]) && $_POST[$mail]===$value){
return $checked;
}else{
return false;
}
}

// AFFICHAGE PAGE PAR PAGE DES RESULTAT
$nombre = 20;  // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
               // on met limite à 0.

$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];


echo    "<form name='email' method='post' action='envoimail.php?clients=".$mail."' />";
echo    "<table align='center' class='liste'>";
           echo "<div id=\"div_chck\">";
               echo "<tr>";
                echo "<td><input type=\"checkbox\" name=\"checkState\" onClick=\"checkState('')\" value=\"checkbox\"($case== true)?\" \" />Tous</td>";
                echo "<td>Soci&eacute;t&eacute;e</td>";
                echo "<td>Civilit&eacute;</td>";
                echo "<td>Nom</td>";
                echo "<td>Pr&eacute;nom</td>";
                echo "<td>Adresse</td>";
                echo "<td>CP</td>";
                        echo "<td>Ville</td>";
                        echo "<td>Tel</td>";
                echo "<td>Fax</td>";
                echo "<td>Portable</td>";
                        echo "<td>Mail</td>";
               echo "</tr>";

while($row=mysql_fetch_array($result)) {
               $id= $row['ID'];
           $intitule= $row['intitule'];
           $civilite= $row['civilite'];
           $nom = $row['nom'];
           $prenom = $row['prenom'];
               $adresse= $row['adresse'];
               $cp = $row['CP'];
               $ville= $row['Ville'];
           $tel = $row['Tel'];
           $fax = $row['Fax'];
           $port = $row['portable'];
               $mail = $row['mail'];


 // pour un bouton checkbox
                echo "<tr>";
                $checked = $value['mail']=1 ? "checked='checked'": "";
                //echo '<input name="email" type="checkbox" value="$mail" ' . $checked .'>';
                //echo '<input name="option1" type="checkbox" value="$mail" '.form_check('option1','mail').' /> ',"\r\n";
                //echo "<td><div id='checkState' align='center' ><input type='checkbox' name='$mail[]' id='checkState' value='".$mail."' onClick='checkState('');' /></div></td>";
                echo "<td><div id='email' align='center' ><input name='checkState' type='checkbox' value='$mail' $checked></div></td>";
                //echo "<td align='center' ><input type='checkbox' name=".$proprio_mail['prop_mail']." value=".$proprio_mail['prop_mail']." onClick='checkState()' /></td>";
                echo "<td>" . $intitule ."</td>";
                echo "<td>" . $civilite ."</td>";
                        echo "<td>" . $nom ."</td>";
                        echo "<td>" . $prenom ."</td>";
                        echo "<td>" . $adresse ."</td>";
                echo "<td>" . $cp ."</td>";
                echo "<td>" . $ville ."</td>";
                echo "<td>" . $tel ."</td>";
                echo "<td>" . $fax ."</td>";
                echo "<td>" . $port ."</td>";
                echo "<td>" . $mail ."</td>";
                        echo "</td>";
                echo "</tr>";
}
   echo " </div>";
echo "</table>";
echo    ' <div align="center" > <input align="center" name="" type="submit" class="nav" id="envoyer" value="Envoyer" /></div>';

echo    " </form>";
mysql_close($sqllink);
?>
</body>
</html>

Re: sélectionner checkall - impossible

par chero9000kee » 16 juin 2011, 10:57

Merci pour ta réponse, je vais essayer ça.

Re: sélectionner checkall - impossible

par Ryle » 15 juin 2011, 23:03

Il y a de nombreuses façon de faire, mais personnellement depuis que j'ai découvert jquery je n'utilise plus que ça :)

Jquery est une librairie javascript qui te permet (entre autre) d'accéder très facilement à tous les éléments de ta page. Il faut un peu apprendre la syntaxe, mais au final tu peux arriver à gérer tes cases à cocher (et bien d'autres choses) en à peine quelques lignes de code :)

Pour te donner un exemple, il te suffit d'inclure la librairie jquery et d'ajouter ce code dans une balise script de ta page :

Code : Tout sélectionner

$(document).ready( // une fois la page chargée $('input[name="checkState"]').click(function() { // détecte le clic de ta case checkState $(":checkbox").attr('checked', $(this).attr('checked')); // coche ou décoche toutes les cases }); );

sélectionner checkall - impossible [Résolu]

par chero9000kee » 15 juin 2011, 18:25

Bonjour à tous,

Comme préciser dans le sujet, j'essaie depuis quelque temps à sélectionner (checked) une liste de personnes qui ont un email depuis une base MySQL. Et cela en javascript ou PHP, mais impossible de tout sélectionner.
J'ai testé plusieurs méthodes PHP et javascript pour faire " tout sélectionner" ou "désélectionner" mais ça ne fonctionne pas.

Si quelqu'un peut m'aider. Merci à l'avance pour votre aide.

Voici mon code:
<?php
$mail = $_POST['mail'];
// Pour n'afficher que les champs remplis , recherche si il y a des champs vide .
$rsql="SELECT ";
for($i=1;$i<=$mail;$i++)
{
  if($i>1) $rsql = $rsql.",";
$rsql = $rsql."if(c$i,'','c$i est vide')";
}
$rsql="FROM `clients` ORDER BY mail != '' DESC";

// ACCES A LA BASE DE DONNEE
include "config.php";

//REQUETE SUR LA TABLE PROPRIOS
$sql_query = "SELECT * FROM

    `clients` ORDER BY mail DESC";

    //$sql_query = 'SELECT * FROM `clients` ORDER BY mail DESC LIMIT '.$limite.','.$nombre.'';
$result = mysql_query($sql_query);
if (!$result) {
	   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
	      exit;
}

// form: crée ou pas le checked sur les champs radios et checkbox
function form_check($mail,$value){
//$checked = ' checked="checked"';
$checked = ' checked=""';
if(isset($_POST[$mail]) && $_POST[$mail]===$value){
return $checked;
}else{
return false;
}
}

// AFFICHAGE PAGE PAR PAGE DES RESULTAT
$nombre = 20;  // on va afficher 5 résultats par page.
if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois
               // on met limite à 0.

$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts['basename'];


echo    "<form name='email' method='post' action='envoimail.php?clients=".$mail."' />";
echo    "<table align='center' class='liste'>";
           echo "<div id=\"div_chck\">";
	       echo "<tr>";
			   	//echo "<td> Tous <input type=checkbox name='$mail' onClick='javascript:document.gestfiles.submit()' value='Cocher'></td>";
                //echo "<td> Tous <input type='checkbox' name='allselect' onClick=\"ManagementCheckBox('')\"  value='Cocher'></td>";

                echo "<td><input type=\"checkbox\" name=\"checkState\" onClick=\"checkState('')\" value=\"checkbox\"($case== true)?\" \" />Tous</td>";
                echo "<td>Soci&eacute;t&eacute;e</td>";
                echo "<td>Civilit&eacute;</td>";
                echo "<td>Nom</td>";
                echo "<td>Pr&eacute;nom</td>";
                echo "<td>Adresse</td>";
                echo "<td>CP</td>";
	       		echo "<td>Ville</td>";
	       		echo "<td>Tel</td>";
                echo "<td>Fax</td>";
                echo "<td>Portable</td>";
	       		echo "<td>Mail</td>";
	       echo "</tr>";

while($row=mysql_fetch_array($result)) {
	       $id= $row['ID'];
           $intitule= $row['intitule'];
           $civilite= $row['civilite'];
           $nom = $row['nom'];
           $prenom = $row['prenom'];
	       $adresse= $row['adresse'];
	       $cp = $row['CP'];
	       $ville= $row['Ville'];
           $tel = $row['Tel'];
           $fax = $row['Fax'];
           $port = $row['portable'];
	       $mail = $row['mail'];


 // pour un bouton checkbox
                echo "<tr>";
                $checked = $value['mail']=1 ? "checked='checked'": "";
                //echo '<input name="email" type="checkbox" value="$mail" ' . $checked .'>';
                //echo '<input name="option1" type="checkbox" value="$mail" '.form_check('option1','mail').' /> ',"\r\n";
                //echo "<td><div id='checkState' align='center' ><input type='checkbox' name='$mail[]' id='checkState' value='".$mail."' onClick='checkState('');' /></div></td>";
                echo "<td><div id='email' align='center' ><input name='mail' type='checkbox' value='$mail' $checked></div></td>";
                //echo "<td align='center' ><input type='checkbox' name=".$proprio_mail['prop_mail']." value=".$proprio_mail['prop_mail']." onClick='checkState()' /></td>";
                echo "<td>" . $intitule ."</td>";
                echo "<td>" . $civilite ."</td>";
	       		echo "<td>" . $nom ."</td>";
 	       		echo "<td>" . $prenom ."</td>";
 	       		echo "<td>" . $adresse ."</td>";
                echo "<td>" . $cp ."</td>";
                echo "<td>" . $ville ."</td>";
                echo "<td>" . $tel ."</td>";
                echo "<td>" . $fax ."</td>";
                echo "<td>" . $port ."</td>";
                echo "<td>" . $mail ."</td>";
    			echo "</td>";
                echo "</tr>";
}
   echo " </div>";
echo "</table>";
echo    ' <div align="center" > <input align="center" name="" type="submit" class="nav" id="envoyer" value="Envoyer" /></div>';

echo    " </form>";
mysql_close($sqllink);
?>