Je suis coincé à travailler sur un problème et j'apprécierais quelques conseils. Je travaille avec un ancien système qui a été codé terriblement, et je n'ai pas fait de validation ou de sanitzing des entrées des utilisateurs, donc la base de données avec laquelle je travaille est un peu bizarre.Mysql Résultats et manipulation de la matrice
J'ai des problèmes avec une colonne appelée "balises", utilisée pour les balises pour les articles. Mais chaque ligne apparaît comme celui-ci, et varie entre eux:
tag balise1 tag2 tag3
OU
balise1, tag2, étiquette
Mais je dois les combiner et les mettre dans un tableau qui les énumère par combien de fois chacun se produit, comme ceci:
- tag (2)
- balise1 (2)
- tag2 (2)
- tag3 (1)
Parce que je ne suis pas le plus astucieux avec php, je ne sais pas si je vais sur le problème correctement? Je ne suis pas habitué à manipuler des tableaux sur cette échelle, c'est pourquoi je suis bloqué à ce stade. Vous pouvez voir l'exemple ci-dessous de ce que je fais ci-dessous:
$sql = "SELECT tags, approved FROM articles WHERE approved = '1' ";
$result = mysql_query($sql);
while($rows = mysql_fetch_array($result)) {
$arr = $rows['tags'];
$arr = str_replace(", ", " ", $arr); // attempting to clean up the data, so that each word appends with a space.
$arr = str_replace(" ", " ", $arr);
// Don't know what to do next, or if this is even the right way to do it.
}
Toute aide est appréciée.
Merci, Lea
Je pense que je suis bloqué parce que le script affiche un tableau pour chaque ligne, et je ne suis pas sûr de savoir comment s'y prendre pour la manipulation, et toutes mes tentatives de la dernière heure ont échoué – Lea
Vous pouvez convertir une chaîne en un array avec la fonction 'explode'. – FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner - Vrai, mais cela ne concerne pas le formatage de chaque ligne de données. Elle place dans un tableau comme: array() { [0] => balise, balise1, tag3, TAG4 [1] => balise, tag2, tag6, tag7 } – Lea