tu dois faire les tests avec in_array sur un tableau de valeurs récupérées de la base de données, par un tableau que tu initialises toi-même avec toutes les valeurs dedans, sinon ça ne sert à rien
(une chose à la fois ce sera mieux je pense...
implode() reconstitue une chaine, depuis un tableauJ'ai une liste déroulante "Spécialité", définie dans ma base comme un champ de type SET.
1. Lorsque je veux effectuer une action sur ce champ (enregistrement, modification), j'utilise la fonction "implode" qui appelle une chaîne de caractère (celle enregistrée dans le champ SET de ma base).
Non, in_array renvoie vrai, ou faux2. Lorsque je veux modifier un enregistrement, je voudrais que les items que j'ai choisis précédemment soient encore sélectionnés. Dans ce cas là, j'utilise la fonction "in_array" qui retourne l'item sélectionné si la condition est vraie. Les items soumis à condition sont les mêmes que ceux du champ SET dans ma base.
Le problème venait déjà du fait que tu définissais toi-même le tableau, or il doit contenir les valeurs contenu dans la base de donnéesEt c'est là que ça bloque: il ne reconnaît pas "in_array". J'ai cherché la cause de l'erreur et j'ai supposé que c'était parce que je n'avais pas défini "array" mais c'est peut-être autre chose et je fais fausse route?
$Specialite=explode (",",$Specialite);
<td><h4>Spécialité de la société : </h4></td>
<td><?php $Specialite=explode (",",$Specialite);?>
<select name="Specialite[]" size="3" multiple>
<option value="Editeur" <? if(in_array("Editeur",$Specialite)) echo "selected" ?>>Editeur</option>
<option value="Diffuseur-Distributeur" <? if(in_array("Diffuseur-Distributeur",$Specialite)) echo "selected" ?>>Diffuseur-Distributeur</option>
<option value="Producteur" <? if(in_array("Producteur",$Specialite)) echo "selected" ?>>Producteur</option>
</select></td>
Voici la requête de mise à jour:$requete="UPDATE societes SET
NomSociete='".$NomSociete."',
AutreNomSociete='".$AutreNomSociete."',
RefGroupe='".$IdGroupe."',
Specialite= '".implode(',',$_POST['Specialite'])."',
Presentation='".$Presentation."',
InfCompl='".$InfCompl."',
PaysOrigine='".$PaysOrigine."',
Adresse='".$Adresse."',
Tel='".$Tel."',
Fax='".$Fax."',
SiteSociete='".$SiteSociete."',
NomReprFr='".$NomReprFr."',
AdresseReprFr='".$AdresseReprFr."',
TelReprFr='".$TelReprFr."',
FaxReprFr='".$FaxReprFr."',
MAJ='".$MAJ."'
WHERE IdSociete='".$IdSociete."'";