recherche_webmaster Posté 2 Septembre 2005 Posté 2 Septembre 2005 Bonsoir, Je m'apprête à faire un truc un peu idiot alors je me suis demandé si quelqu'un voudrait me confier quelques neurones. Voilà: J'ai un formulaire qui contient 5 selects. Quand je valide il doivent créer 5 tuples différents dans une même table. Le truc idiot consiste à faire 5 requêtes pour récupérer tour à tour les valeurs de chaque select et les insérer dans un tuple différent pour chaque requête. Mais je me dis au fond de moi même, perd pas espoir ! Ca doit pouvoir se faire en une seule et même requête !! Me trompe-je ?
e.MiLoU Posté 2 Septembre 2005 Posté 2 Septembre 2005 (modifié) Je suis pas sûr que j'ai tout compris... Je t'explique donc ce que j'ai compris Tu as par exemple dans un table plusieurs adjectifs pour qualifier un personne (avec un id correspondant) Gentil, Radin, Intelligent, Laid, Beau Alors moi ce que je fais dans ces cas là, je crée un field adjectif dans ma table de description. Je sépare chaque id de l'adjectif par un ; Ensuite, pour afficher, je fais. function SqlAttributs($table, $field = 'contenu'){ $sql = "SELECT $field, id from $table"; $sqlresult = mysql_query($sql); $expression = ''; while ($donnees = mysql_fetch_array($sqlresult)) { $contenu = str_replace("'", "\'",$donnees[$field]); $expression .= "'". $donnees['id']. '\' => \'' . $contenu .'\' , '; } eval('$tab = array('.$expression.');'); return $tab;}// Affichage des adjectifs$tabadjectifs = SqlAttributs('adjectifs');$adjectifs = explode(';', $branches);foreach($adjectifs as $i => $adjectif){ $adjectifs[$i] = $tabadjectifs[$adjectif];}$adjectifs = implode (', ', $adjectifs);echo "<p>Adjectifs: $adjectifs</p>"; J'espère que je t'ai compris et que tu m'as compris. Aussinon, peux-tu donner un exemple concret?? Modifié 2 Septembre 2005 par e.MiLoU
Boo2M0rs0 Posté 3 Septembre 2005 Posté 3 Septembre 2005 La question est de savoir si tu parlais de select dans une base de donné, ou des champs select dans un formulaire html. Si c'est le premier cas, tu peux essayer avec: INSERT INTO ta_table (donne1 , donne2 , donne3) SELECT donne1 , donne2 , donne3 FROM une_autre_table WHERE ... J'arrête pas de me servir de cette requête avec les mise à jour que je dois faire sur mon site , l'avantage est que l'on n'a pas besoin d'échapper le contenu pour le réinssérer
e.MiLoU Posté 3 Septembre 2005 Posté 3 Septembre 2005 La question est de savoir si tu parlais de select dans une base de donné, ou des champs select dans un formulaire html. Si c'est le premier cas, tu peux essayer avec: INSERT INTO ta_table (donne1 , donne2 , donne3) SELECT donne1 , donne2 , donne3 FROM une_autre_table WHERE ... J'arrête pas de me servir de cette requête avec les mise à jour que je dois faire sur mon site , l'avantage est que l'on n'a pas besoin d'échapper le contenu pour le réinssérer <{POST_SNAPBACK}> C'est bien ce qui me semblait,... j'avais rien compris Peut-être une autre fois
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant