Affichage des enregistrements à l'aide des menus deroulants

mchennouf Messages postés 5 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 9 février 2006 - 12 déc. 2005 à 01:34
mchennouf Messages postés 5 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 9 février 2006 - 9 févr. 2006 à 02:19
mon application est faite avec PHP et Mysql en intranet. le travail est realisé à l'aide de dreamweaver MX 2004 je veut que ma page contient un menu deroulant dynamique affichant tout les codes des clients existant dans la table client de ma base une fois un code selectionné je doit afficher le nom , prenom, ....de la même table .Et une liste deroulante multiselection dynamique contenant les ref_articles de la deuxieme table article une fois on selectionne une ref_article on afiche seulement le libellé de la reference selectionnée et ceci sera aplacé dans un tableau contenant la ref_article , le libellé et la quantité commandé qui appartienne à une autre table de la même base qui deduite d'une relation entre les tables alors l(utilisateur dans ce cas ne lui reste que de saisir la quantité desiré et chaque quantité doit correspondre à le ref_article selectionnée tout le travail si c'est possible doit etre dans la même page .
merci à ceux qui me repondront et à ceux qui vont essayer avec moi je suis vraiment bloqué pourrealiser cette page et faciliter la tache à l'utilisateur .j'attend alors votre aide et une reponse le plus vite posiible .'jai essayé beaucoup de trucs mais ça ne marche toujour pas .

10 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 déc. 2005 à 09:37
Hello,

et c'est quoi que tu ne parviens pas à faire, dans tout ça ?
Créer une liste déroulante à partir d'une table est très simple.
Lier une 2ème liste, ou tout autre élément html, à cette liste dynamiquement ne peut se faire qu'avec du javascript si tu ne veux pas raffraichir la page (via un onchange sur le select par exemple).
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
12 déc. 2005 à 12:25
"et c'est quoi que tu ne parviens pas à faire, dans tout ça ?" Peut etre tout :o
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 déc. 2005 à 12:30
Faut vraiment que je finisse cette faq...lol. Si seulement ils étaient conciliants à mon taf et me laissaient un peu plus de temps ;-)
0
mchennouf Messages postés 5 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 9 février 2006
12 déc. 2005 à 12:31
merci à vous malalam j'ai essayé avec javascript et sql en introduisant dans le select un onChange dans le 1er menu codes et ça n'a pas marché donc j'etait obligé d'ajouté un bouton pour le reste des informations mais le problème reside surtout dans la liste comment faire pour afficher seulement les libellés des ref_article selectionnées et faire correspondre pour chaque enregistrement la saisie de la quantité desirée et qui se trouve sur une autre table de ma base et par la suite inserer toutes les informations dans ma base pour les visualiser en detail par la suite
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 déc. 2005 à 12:55
Après plantage, je recommence :
Une requête nbe se fait pas forcément que sur 1 seule table. Un exemple très simple:

table article :
art_id
art_designation

table quantite:
art_id
quantite

Une liste affichant un article, et sa quantité (je passe sur la gestion des erreurs) :
<select name="artList">
<?php
$requete = mysql_query ('
SELECT
art.art_id,
art.art_designation,
quant.quantite
FROM
article art
quantite quant
WHERE
(art.art_id = quant.art_id)
ORDER BY
art.art_designation
');
while ($res = mysql_fetch_assoc ($requete)) {
echo '<option value="',$res['art_id'],'">',$res['art_designation'],' => ', $res['quantite'],'</option>';
}
?>
</select>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 déc. 2005 à 12:57
Ceci dit, à priori, tu vas afficher tes articles dans une liste, et les utilisateurs vont choisir un article, ce qui va les faire passer à un 2d formulaire leur permettant de saisir la quantité désirée pour cet article. Non ?
0
mchennouf Messages postés 5 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 9 février 2006
2 janv. 2006 à 05:22
Salut
joyeux noel bonne et heureuse année 2006 pleine de joie , bonheur pour vous et pour ceux qui te sont tres chere
je m'excuse pour tout ce retard mais j'avait des circonstances vraiment tres difficiles vue que j'etait gravement malade bref voilà
0
mchennouf Messages postés 5 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 9 février 2006
2 janv. 2006 à 05:42
Voilà ma page elle ressemble à l'image dessous :


l'utilisateur va choisir son code le selectionner dans le menu deroulant dynamique et qui existe deja dans la base de données ce qui va entrainer un affichage automatique de ses informations à savoir par exemple le nom , prenom, …etc


Par la suite va selectionner les references desirées dans le 2eme menuderoulant dynamique à selection multiple et pour chaque reference selectionnée son libelle doit s'afficher et il doit saisir une quantité correspondante , choisir ensuite une 2eme reference son libelle doit s'afficher automatiquement saisir sa quantité et ainsi de suite pour le reste. et tout ça doit apparaître sur la même page toutes les references , les libelles et les quantités .
et en plus vous avez dit deux l'utilisateur va saisir dans un 2eme formulaire là je n'ai pas bien compris comment faire
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
2 janv. 2006 à 09:41
Ah ben vlà qui tu es ;-)

Bon, difficile de t'ex)pliquer tout ça comme ça.
décidément, j'utiliserais des sessions.
Pour les formulaires c'est simple, je t'ai montré un exemple.
Tu récupères ce que tu veux, tu construits ton formulaire avec. Sur un choix utilisateur, tu affiches ce que tu veux. Pour ça, il faut passer par des soumissions du formulaire.

Pour conserver facilement les références et les quantités, passe par ujne session, tu stockes au fur et à mesure en session ses choix.
0
mchennouf Messages postés 5 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 9 février 2006
9 févr. 2006 à 02:19
voilà vous allez trouver ici le code php de la page mais mon problème maintenant est que j'ai deux submit le premier avec javascriipt qui va me permettre d'afficher les resultats une fois on selectionne dans select et le deuxieme submit du bouton pour inserrer dans ma base alors qiuand je selectionne automatiquement ça enregistre dans ma base or ce n'est ce que je veut juste l'affichage et pour l'insertion c'est le rôle du boutton je ne sait plus comment faire si vous avez une idée avec tous mes remerciements
<?
error_reporting(E_ALL^E_NOTICE);
$host = "localhost";
$user = "root";
$pass = "";
$base = "gestion";
$connection = mysql_connect($host, $user, $pass)or die("Impossible de se connecter");
mysql_select_db($base, $connection);
?>
<html>
<head>
<title>COMMANDE</title>
</head>


<script language="JavaScript">
<!--
function test(field){
if(field.selectedIndex >= 0){
my_form.submit();
}
}
-->
</script>

<?
$sql = "SELECT ID_empl FROM employe ORDER BY ID_empl";
$result = mysql_query($sql);
?>
<FORM method="POST" name="my_form">
Selctionnez votre code SVP:

<select name="my_field" onchange="test(this)">
<option value="-1" SELECTED></option>
<?
while($record = mysql_fetch_array($result)){
?>
<option value="<? echo $record["ID_empl"]; ?>" <? if($_POST["my_field"] == $record["ID_empl"]) echo "SELECTED"; ?>>
<? echo $record["ID_empl"]; ?>
</option>
<?}?>
</select>

<table width="75%" cellspacing="2" cellpading="2" border="0">
<?
if($_POST["my_field"]){$sql2 "SELECT employe.nom, employe.prenom, employe.poste, employe.bureau,employe.tel, structure.nom_structure FROM employe, structure WHERE structure.ID_structure employe.ID_structure AND ID_empl = ".$_POST["my_field"]."";
$result2 = mysql_query($sql2);
while($record2 = mysql_fetch_array($result2)){
echo "----, Nom </td>:, ".$record2["nom"].", ----
Prenom, :, ".$record2["prenom"].", ----
Poste, :, ".$record2["poste"].", ----
Structure, :, ".$record2["nom_structure"].", ----
Telephone, :, ".$record2["tel"].", ----
Bureau, :, ".$record2["bureau"].", \";
}
}
?>

</td></tr>
<tr><td>
<?
$query = "SELECT * FROM article";
$result = mysql_query($query);
for($i = 0; $i < mysql_num_rows($result); $i++) {
$liste[$i] = mysql_result($result, $i, "ref_art");
}
?>


Selectionnez la reference des articles desiré:

<select name="my_liste[]" onchange="test(this)" MULTIPLE>


<? for($i = 0; $i < sizeof($liste); $i++){ ?>
<option
<? for($k = 0; $k < count($_POST["my_liste"]); $k++){
if($liste[$i] == $_POST["my_liste"][$k]){
echo "SELECTED";
break;
}
}?>
>
<? echo $liste[$i]; ?>
</option>
<?}?>
</select>
Reference, Libelle, Quantite, ----

<?
if($_POST[\"my_liste\"]){
for($i = 0; $i < count($_POST[\"my_liste\"]); $i++){
for($k = 0; $k < mysql_num_rows($result); $k++){
$ref[$k] = @mysql_result($result, $k, \"ref_art\");
$lib[$k] = @mysql_result($result, $k, \"libelle\");
if($_POST[\"my_liste\"][$i] == $ref[$k]){
echo \"----
".$ref[$k].", ".$lib[$k].", , \";

}
}

}

}?>

</td></tr>
</table>

</FORM>
<?
$champ = $_POST["champ"];
$ref = mysql_result($result, $k, "ref_art");
$code = $_POST["my_field"];
if($_POST["champ"] AND $_POST["my_field"] AND $_POST["my_liste"]){
$sql4 = "INSERT INTO commande(ID_empl) VALUES('$code')";
mysql_query($sql4);


for($k = 0; $k < count($champ); $k++){
$sql3 = "INSERT INTO contenir(ref_art, qte_com) VALUES('$ref[$k]', '$champ[$k]')";
$result3 = mysql_query($sql3);
}
}
?>

</html>
0
Rejoignez-nous