Comparer un array (explode) pour case a coche

Résolu/Fermé
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 - 26 janv. 2009 à 19:19
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 - 27 janv. 2009 à 10:32
Bonjour,
je voudrais savoir comment cocher la case à cocher correspondante au membre le cas échéant après l'avoir inséré dans la bdd. Je m'explique :

J'ai un formulaire qui liste les membres enregistrés a côté duquel j'ai une CaC.
Et une table dans laquelle via un précédent formulaire j'ai inséré tous les ID cochés concaténé par un "implode".



if ((isset($_POST["maj"])) && ($_POST["maj"] == "form1")) {

$idmembre = implode("|", $_POST['idmembre']);


  $updateSQL = sprintf("UPDATE nomcommission SET nomcom=%s, notecom=%s, idmembre=%s WHERE id=%s",
                       GetSQLValueString($_POST['nomcom'], "text"),
                       GetSQLValueString($_POST['notecom'], "text"),
                       GetSQLValueString($idmembre,"text"),
                       GetSQLValueString($_POST['id'], "int"));

  mysql_select_db($database_connAcomen, $connAcomen);
  $Result1 = mysql_query($updateSQL, $connAcomen) or die(mysql_error());
}

...

do {
<input type "checked" name="idmembre[]" value="$row_membre['id']" />
} while ($row_membre=mysql_fetch_assoc($query_membre));



j'ai donc des valeur du genre :

4|5|6|8|10|12|14|16|36|38|39|41|43|71|72|74|77|78|...

Comment dois-je faire pour comparer chaque ID à celui de la table membre et dire à la case de se cocher ?

Je sait que je dois d'abord récupérer la liste et la mettre dans un tableaux :

$idmembre = explode("|", $row_membre['idmembre']);


Mais après je bloque.

help.
Merci

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
26 janv. 2009 à 20:34
bonsoir,

une piste:

tu récupères dans

$array_idmembre = explode("|", $row_membre['idmembre']);



puis je suppose que tu afiche tes menbres par une boucle

il suffit que tu testes a chaque boucle que if(in_array($idmenbre,$array_idmembre)

tu fasses echo "checked" dans l'input
1
virtualsof Messages postés 106 Date d'inscription mercredi 27 septembre 2006 Statut Membre Dernière intervention 17 août 2014 17
27 janv. 2009 à 10:32
MERCIIII BEAUCOUP Alain_42 !!

ca marche :)

<?php $array_idmembre=explode('|',$row_selectCom['idmembre']);?>
 <input type="checkbox" name="idmembre[]" value="<?php echo $row_selectMembre['id']; ?>"
<?php if (in_array($row_selectMembre['id'],$array_idmembre)) {echo "checked=\"checked\"";}?>  />
0