Dans mon fichier d'index je reçois des données de la base de données à l'aide de cette fonction (qui est dans un autre fichier):Tagging et explose en php
function get_all_threads($link, $start)
{
$threads = select_Query("SELECT thread.title, thread.id as t_id,
thread.content, author.username, author.id as a_id,
GROUP_CONCAT(DISTINCT tags.name ORDER BY tags.name DESC SEPARATOR ',') AS tags
FROM thread JOIN thread_tags ON thread.id = thread_tags.thread_id
JOIN tags ON thread_tags.tag_id = tags.id
INNER JOIN author on author.id = thread.author_id
GROUP BY thread.id DESC
LIMIT $start, 30", $link);
return $threads;
}
Le code dans mon fichier d'index est comme suit:
$threads = get_all_threads($link, $start);
include FORUM_ROOT . 'html/main/threads.html.php';
Dans threads.html.php
<?php foreach ($threads as $thread): ?>
<h1><?php echo $thread['title']; ?></h1>
<?php echo $thread['content']; ?>
<?php echo $thread['tags']; ?> <!-- All of these appear as one -->
<?php endforeach; ?>
Comme vous pouvez le voir, je reçois les fils, leurs auteurs et leurs tags. Cependant, j'utilise GROUP_CONCAT pour les balises, quand je veux faire chaque balise individuelle un lien, comme dans threads.html.php:
<a href="?tag=<?php echo $thread['tags']; ?>" >
<?php echo $thread['tags']; ?>
</a>
Toutes les balises apparaissent comme un lien, (par exemple, si les étiquettes étaient la pomme , orange, banane ils apparaissent comme apple, orange, banana et non apple, orange, banana):
Je sais de diviser ces balises je peux utiliser exploser et itérer sur chacun comme suit:
<?php $tags = array();
$tags = explode(',', $thread['tags']);
?>
(Tagged:
<?php foreach ($tags as $tag): ?>
<a href="/tag?=<?php echo $tag;?>"><?php echo $tag; ?></a>
<?php endforeach; ?>)
Cependant, je aurait Ensuite, il faut le faire dans threads.html.php et je veux garder le code de présentation séparé.
Existe-t-il une façon plus simple de faire cela dans index.php? De plus à itérer sur chaque fil et exploser chaque balise prendra trop de temps pour les fils qui sont plus de 30
Edit:
Ma structure de table est la suivante:
fil, author_threads, auteur , étiquette, thread_tags, réponse et author_replies
1: http://apple, orange, banane
pouvez-vous ajouter votre structure de table db –
Je préférerais une simplification du problème ... si possible. – Kissaki
Je ne pense pas que 'GROUP_CONCAT' est une norme SQL ... quelle DBS utilisez-vous? – Kissaki