Aller au contenu

5 selects donnent 5 tuples


recherche_webmaster

Sujets conseillés

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 ?

Lien vers le commentaire
Partager sur d’autres sites

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é par e.MiLoU
Lien vers le commentaire
Partager sur d’autres sites

La question est de savoir si tu parlais de select dans une base de donné, ou des champs select dans un formulaire html. :unsure:

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 :)

Lien vers le commentaire
Partager sur d’autres sites

La question est de savoir si tu parlais de select dans une base de donné, ou des champs select dans un formulaire html. :unsure:

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 :unsure:

Peut-être une autre fois :D

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...