Vous n'êtes pas identifié(e).
Pages : 1
Bonjour JC,
J'ai trouvé la solution.
Il suffisait tout simplement d'utiliser in_array().
merci.
Cordialement
bonjour,
merci, pour votre réponse.
cordialement
Bonjour,
merci pour la réponse.
je vais travailler sur la base de vos recommandations.
Je pensais qu'il me fallait une boucle foreach pour mettre en correspondance le résultat pour $tag de la bd qui sont mémorisés checked et la partie du formulaire checkbox.
Pour ma requete sur cat_p_id ( la categorie enregistrée cela fonctionne impeccable )
ci-joint cette partie :
if(array_key_exists('category', $update_page_errors)) echo 'has-error';
echo '"><label for="category" class="control-label">La catégorie</label>
<select name="category" class="form-control"><option>Sélectionnez</option>';
$q="SELECT cat_id, category FROM categorie ORDER BY cat_id ASC";
$r= mysqli_query($dbc,$q);
while ($row=mysqli_fetch_array($r, MYSQLI_NUM)) {
echo "<option value =\"$row[0]\"";
if(isset($category) && ($category == $row[0])) echo ' selected="selected"';
echo ">$row[1]</option>\n";
}
echo '</select>';
if(array_key_exists('category', $update_page_errors)) echo '<span class="help-bloc">' .$update_page_errors['category'].'</span>';
echo'</div>';
?>
Cordialement
pour le 1/
je fais au mieux pour structurer et optimiser les relations.
la table 'Pages' est la base du systeme
s'articule autour
une table 'Categorie'
une table 'User'
une table de jonction 'Pages_tag'
qui est lie à la table 'Tag'
pour le 2/
ma requete
pour le point 3 :
chaque tag a sa case. La boucle affiche bien chaque tag avec sa valeur.
if( isset($tag) && ($tag_id == $rowt['tag_id']) ) echo !empty('checked="checked"')?'checked="checked"':'';?>><?php echo $rowt['tag'] ?>
</label>
</div>
<?php if(array_key_exists('tag', $update_page_errors)) echo'<span class="help-bloc">'.$update_page_errors['tag'].'</span>'; ?>
<?php } ?>
</div>
WHERE p.page_id=?
ORDER BY tag
bonjour,
c'est justement le problème.
'Tag 'est une table lier à la table 'Pages' par une table de liaison 'Pages_tag'.
$tag est issu de la BD par une jointure, c'est 'le nom' du tag que je retrouve. C'est par exemple 'végétalien'.
$tag_id sera son indice selon sa position dan la table 'Tag' composé de tag, tag_id
donc selon ma table si j'ai végétalien, son tag_id est 2
c'est cette manière de faire correspondre et donc de valider ce que me retourne la requête SELECT
que je cherche à faire afin que mon formulaire checkbox soit bien checked.
ma table Tag avec les correspondances
merci d'avance pour une idée
cordialement
hello Maljuna,
Le problème n'est pas sur le html du checked="checked"
Je n'arrive pas à créer un tableau qui à partir de la sortie du SELECT pour $tag [-> $tag = (végétalien,sans gluten); ]
permette de valider :
Tag Array ( [tag] => végétarien [tag_id] => 1 ) végétarien
Array ( [tag] => végétalien [tag_id] => 2 ) végétalien
Array ( [tag] => sans lactose [tag_id] => 4 ) sans lactose
Array ( [tag] => sans gluten [tag_id] => 3 ) sans gluten
Array ( [tag] => classique [tag_id] => 5 ) classique
qui sera checké selon la sortie de $tag
soit là par exemple:
checked = checked pour végétalien et sans gluten
Merci pour une idée de travail sur les array
cordialement
bonjour à tous,
j'ai une question sur la récuperation de donnée issu d'une BD.
Je veux creer une page de mis à jours de données;
je cree le formulaire
et je le rempli des infos avec la requete SELECT
tout mes champs se remplisse sauf un. C'est un champs de checkbox qui checke les tags associés.
je recupere bien les données de ce champs issu d'un GROUP_CONCAT
donc j'ai
$tag = (végétalien,sans gluten,classique);
je le découpe avec
$tag = preg_split("/[\,]+/", $tag );
j'ai donc maintenant
$tag :: Array ( [0] => végétalien [1] => sans gluten [2] => classique )
Mais après cette opération,
je ne sais pas comment il faut faire pour qu'il checke les bons boutons
mon checkbox se définit ainsi :
voici le html du checkbox
Pour l'instant un seul est checké, c'est Classique. Je pense que c'est par défaut car même si il n'est pas dans la liste c'est le dernier et il est checké.
Par avance merci
cordialement
Pages : 1