Liste deroulante dynamique

majy1100 - 26 nov. 2012 à 10:22
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 26 nov. 2012 à 12:36
Bonjour , jss un nouveau en PHP, j'ai au fait une liste déroulante a multiple choix et les différents choix, je les obtiens grace a une base de données. Donc j'aimerais après chaque choix que les choix selectionnés soit insérer dans une autre table.
Bref voici mon code



<label class= "control-label" for="selectError1">Selectionner les commandes passees chez ce fournisseur</label>


<select name="choix"id="selectError1" multiple data-rel="chosen" >
<?php
$nb = 3;
//On se connecte
connectMaBase(); // ma fonction qui me permet de me connecter a ma BDD
//On prépare la requête SQL qui récupère les champs
$sql = 'select * from competence';
/* On lance la requête (mysql_query) et on impose un message d'erreur si la requête ne passe pas (or die) */
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
//On scanne le résultat et on construit chaque option avec
while($data = mysql_fetch_array($req))

{
// on affiche chaque champ
echo '<option value="'.$nb.'" "'.$data[0].'">'.$data[1].'</option>';
for($i=0; $i<$nb; $i++) {
if ($choix == "'.$nb.'") {
$choix[$i] = "'.$data[0].'";
}
}

}
//On libère mysql de cette première requête
mysql_free_result ($req);
//On ferme le select
?>
</select>






Valider
Cancel

</fieldset></form>
<?php
/*--On insere les valeurs saisise dans la BD-------------*/ if(isset($_POST['valider1']))
{ for($i =0; $i<$nb; $i++) {

$frs_code= $_POST['codefrs'];
$com_num= $_POST['choix$i'];


connectMaBase();

/*--------------Requete d'insertion les valeurs saisise dans la BD------*/

$sql='INSERT INTO ligne_frs VALUES("'.$frs_code.'","'.$com_num.'")';
mysql_query ($sql) or die ('Erreur SQL !'.$sql.'
'.mysql_error());

// on ferme la connexion
mysql_close();
}}
?>

Bref je sais qu'il est unp fou comme code mais j'ai vraiment besoin de votre aide

1 réponse

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
26 nov. 2012 à 12:36
Bonjour,

Pour cela, il faut soit coupler JS à PHP pour interroger dynamiquement la base de données
Soit forcer la validation du formulaire pour forcer le rafraichissement de la page (avec JS par exemple).

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
0
Rejoignez-nous