2013-01-22 2 views
0

Travailler sur quelque chose et avoir des problèmes avec du code. Le scénario est qu'un élément doit avoir plusieurs catégories. ma solution est de créer des cases à cocher en boucle afin que l'utilisateur puisse simplement cliquer sur les catégories que l'élément devrait avoir c'est le code que j'ai.Case à cocher de la boucle à partir des valeurs de la base de données PHP

<?php 
$result = mysql_query("SELECT * FROM tbl_category order by name "); 
while($row = mysql_fetch_array($result)) 
    echo '<label>'.$row['name']. '</labe>' 
    '<input type="checkbox" name="categories" value='.$row['category_id'].' >'; 

?> 

D'une manière ou d'une autre cela ne fonctionnerait pas apprécierait toute aide à ce sujet.

Aussi, si quelqu'un pouvait me donner idée sur la façon de stocker les valeurs comme ARTICLE APPLE a valeurs de A, G, Y comment pourrais-je stocker dans la base de données et comment le montrer. parce que je vais utiliser SELECT ELEMENT filtres pour les rechercher.

EDIT: Erreur rapide

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in C:\xampp\htdocs\nota\add2.php on line 25

+0

vous manque un 'l' dans votre balise de fin de l'étiquette. Tout cela doit être dans un formulaire. –

+0

Merci, n'a pas remarqué. J'essaie toujours de trouver comment résoudre ce problème. – user1998926

+0

Fixez d'abord l'erreur dans votre code. Vous ne pouvez pas combiner deux chaînes entre guillemets sans une concat (.) Entre elles. – Tristan

Répondre

0
echo '<label>'.$row['name']. '</labe>'.'<input type="checkbox" name="categories" value='.$row['category_id'].' >'; 

vous manque un opérateur de concaténation de chaîne dans . echo .i supposons que votre requête est correcte et il y a des données dans votre base de données.

Et sur le stockage ITEM APPLE has values of A,G,Y vous pouvez utiliser une table qui a la id de ITEM APPLE et de leurs valeurs alors même identifiant, mais comme valeur G puis y..etc un

ce schéma est le mieux adapté si un élément peut avoir plusieurs valeurs.

link to database schema

+0

Merci pour l'aide. Je pense à utiliser un IfElse pour vérifier les boîtes qui sont sélectionnées et vont stocker dans la base de données. mais sur la recherche serait un 'select *. .. où value = A, Or G OU Y' ou devrais-je supprimer d'abord le "," de la base de données puis utiliser l'instruction select? – user1998926

+0

si vous utilisez une virgule alors votre ci-dessus sélectionnez * ... ne fonctionnera pas –

Questions connexes