J'ai une colonne de table appelée post_tags dans une table appelée posts où les étiquettes affectées sont stockées séparées par le symbole @. J'ai aussi une table appelée tags où tous les noms de tag sont stockés. Je voudrais concevoir ma base de données d'une manière plus normalisée mais dans le but que j'essaye de réaliser ceci est l'option la plus facile.Comment afficher les enregistrements mysql en tant que cases à cocher présélectionnées?
Quoi qu'il en soit, je veux afficher sur l'écran toutes les entrées de la table des balises comme des cases à cocher, donc je fais:
$query = mysql_query("SELECT * FROM tags ORDER BY name");
while ($row = mysql_fetch_assoc($query)) {
$tag = $row['name'];
echo "<input type='checkbox' name='tags[]' value='$tag' />\n";
}
Ensuite, je veux avoir les balises qui sont affectés à un poste en particulier présélectionné . Par exemple, si j'ai un poste avec ce qui suit dans c'est la colonne post_tags:
partie @ plages @ dauphins @
Je veux que le « parti », « plages » et les cases à cocher « dauphin » à être coché par défaut (alors que les cases à cocher des autres options ne sont pas cochées). Comment cela peut-il être fait?
Je ne suis pas sûr que vous voulez avoir une colonne comme post_tags au lieu d'utiliser une table d'intersection. Mais si vous le faites vraiment, vous aurez juste besoin de faire plus de traitement lorsque vous extrayez des données. –