2011-01-30 4 views
2

j'ai table -> interests_catscomment stocker ces données dans la base de données?

id - category 
1 - Music 
2 - Fashion 
3 - Movies 

et les intérêts de table

id - interest - cat_id 
1 - Inception - 3 
2 - Jackson - 1 
3 - Ralf  - 2 

et le formulaire utilisateur J'ai comme ça

Fashion [ ] [ ] [ ] 
Music  [ ] [ ] [ ] 
Movies [ ] [ ] [ ] 

[] -> saisie de texte , je m en utilisant PHP

comment puis-je recevoir et stocker les données en om le formulaire?

+3

Nous ne le construisons pas pour - qu'avez-vous essayé? –

+0

De quoi parle la table thisrd? – bensiu

+0

@OMG Poneys J'ai essayé le tableau html mais le problème est que les catégories d'intérêts sont dynamiques donc je ne pense pas que ce soit un bon moyen d'y aller. –

Répondre

2

Eh bien, vous pouvez générer votre formulaire comme ceci:

$res = mysql_query("SELECT id, category FROM categories ORDER BY category"); 
while (mysql_fetch_array($res)) 
     { 
     echo $res['category']; 
     for ($i=0; $i<3; $i++) 
      echo " <input name='cat_" . $res["id"] . "_" . $i . "' />"; 
     } 

Vous aurez les champs nommés cat_1_1, cat_1_2, cat_1_3, cat_2_1, ..., cat_3_3

Dans la page où vous traiter le formulaire que vous avez juste besoin de diviser par _, récupérer le second jeton (l'identifiant de la catégorie, vous pouvez jeter le reste) et mettre les valeurs dans le DB, un par un.

Ainsi, par exemple (peut-être besoin de quelques ajustements supplémentaires/contrôle d'erreur, etc.):

foreach($_POST as $name=>$value) 
     { 
     $tokens = preg_split("/_/", $name); 
     if ($tokens[0] == "cat") 
      { 
      $catnum = (int)$tokens[1]; 
      // INSERT ($catnum, $value) in the table here. 
      } 
     } 
+0

pouvez-vous s'il vous plaît illustrer comment traiter les variables? comment puis-je savoir par exemple qu'il y a $ _POST ['cat_5_1']? –

+0

@Waseem Abu Senjer: mis à jour – nico

+0

il est peut-être tard, mais quand je génère le formulaire que je veux mettre les valeurs dans le formulaire de la table des intérêts, comment puis-je faire cela? –

0
 
Fashion [ Diore ] [ ] [ ] 
Music  [ ] [ ] [ ] 
Movies [ Robin Hood ] [ Avatar ] [ ] 

si la musique [1] non nulle -> INSERT ('Robin des Bois', 3 (musique)) -> else ne rien faire, où la musique devrait indexer à 3

+0

Et si je ne remplis que le 2ème champ? Ne jamais supposer que l'utilisateur va faire les choses de la façon dont votre site Web a été conçu pour fonctionner! – nico

+0

vous bouclez dans (3) colonnes et continuez quand n'est pas nul – bensiu

+0

Oui, mais vous vérifiez seulement si la musique [1] n'est pas nulle, ce qui ne fonctionnera pas. – nico

Questions connexes