Checked : sélectionner checkall - impossible

Signaler
Messages postés
10
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
19 juin 2011
-
Messages postés
10
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
19 juin 2011
-
Bonjour à tous,

Je tiens à remercier "cod57" pour son aide et sa compétence de mon premier poste.

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.

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    "\";
echo \"
\";
echo \"----
\";
//echo \"Tous , \";
//echo \"Tous , \";

echo \"Tous, \";
echo \"Sociétée, \";
echo \"Civilité, \";
echo \"Nom, \";
echo \"Prénom, \";
echo \"Adresse, \";
echo \"CP, \";
echo \"Ville, \";
echo \"Tel, \";
echo \"Fax, \";
echo \"Portable, \";
echo \"Mail, \";
echo \"\";

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 \"----
\";
$checked = $value['mail']=1 ? \"checked='checked'\": \"\";
//echo '';
//echo ' ',\"\r\n\";
//echo \", \";
echo \", \";
//echo \", \";
echo \"" . $intitule .", \";
echo \"" . $civilite .", \";
echo \"" . $nom .", \";
echo \"" . $prenom .", \";
echo \"" . $adresse .", \";
echo \"" . $cp .", \";
echo \"" . $ville .", \";
echo \"" . $tel .", \";
echo \"" . $fax .", \";
echo \"" . $port .", \";
echo \"" . $mail .", \";
echo \"</td>\";
echo \"\";
}
echo \"
\";
echo "
";
echo    ' 
 
';

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

6 réponses

Messages postés
10
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
19 juin 2011

Il n'y a personne pour m'aider ?
Messages postés
29
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
13 juillet 2011

Et si à ça tu mettais true pour la valeur de checked ?

// form: crée ou pas le checked sur les champs radios et checkbox
function form_check($mail,$value){
//$checked = ' checked="checked"';
$checked = ' checked="true"';
if(isset($_POST[$mail]) && $_POST[$mail]===$value){
return $checked;
}else{
return false;
}
}
Messages postés
10
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
19 juin 2011

Sa ne fonctionne pas. J'ai essayé en javascript et avec la fonction form_check, je n'y arrive toujours pas.
Messages postés
10
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
19 juin 2011

Peux tu m'expliquer un peu, s'il te plait, pour le javascript "checkState".
Je l'ai 2 fois :
sélection de TOUS
1).
echo "<td>TOUS</td>";

et ceux que je selectionne individuellement
2).
echo "<td>

</td>";


Et en PHP pour la fonction "form_check":

1).
echo "<td>TOUS</td>";

et ceux que je selectionne individuellement
2).
$checked = $value['checkState']=0 ? "checked='checked'": "";
echo '<td align="center" ></td>';
Messages postés
29
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
13 juillet 2011

Je comprends pas trop ce que tu cherche à faire.

Si tu désires sélectionner toutes les input en cliquant sur quelque chose, tu mets une classe aux input et ensuite sur le onclick, tu mets attribut checked à la classe.

ID => sélectionne un élément
Class => sélectionne plusieurs éléments

Ensuite j'ai pas trop regarder ton code, pas trop le temps en ce moment, mais si j'ai bien compris, tu cherches à sélectionner une checkbox quand l'utilisateur de la ligne à une adresse dans une base de données. Si c'est juste ça, il me semble que tu peux optimiser ton code.

Pour l'algorithme littérale SQL : Je sélectionne tout les membres de la table membre.
Pour l'algorithme littérale php : Je fais une boucle avec les infos de l'utilisateur avec au moment de la checkbox : si l'élément $mail est différent de "" (= vide) ou de null alors j'écris checked.

J'espère que ça a pu t'aider. Sinon explique plus distinctement stp.
Messages postés
10
Date d'inscription
jeudi 16 août 2007
Statut
Membre
Dernière intervention
19 juin 2011

Merci pour ton aide mais c'est bon j'ai réussi avec du javascript.