Récupération depuis une liste

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 00:05

Voila, ma liste, dans un form est crée comme suit :

La liste est basée sur une bdd comme suit :

Code_Model
Nom_Model

Avec par exemple comme couple de valeur :

1/Mod1
2/Mod2
..........

L'idée et qu'au changement de valeur (donc avec onchange) j'ouvre une nouvel page intitulé: finition.php?Code_Model=mavaleur&Nom_Model=mavaleur (appelons le cas 1)

J'arrive a faire soit l'un, finition.php?Code_Model=mavaleur (cas 2), soit l'autre, finition.php?Nom_Model=mavaleur (cas 3), mais pas les deux en meme temps.

mon code étant :

cas 1 (marche pas)

Code : Tout sélectionner

<select name="Model" id="Model" onchange="document.location.href='Finition.php?Nom_Model='+this.options[this.selectedIndex].value'&Code_Model='+this.selectedIndex;">
cas 2 (marche)

Code : Tout sélectionner

<select name="Model" id="Model" onchange="document.location.href='Finition.php?Code_Model='+this.selectedIndex;">
cas 3 (marche)

Code : Tout sélectionner

<select name="Model" id="Model" onchange="document.location.href='Finition.php?Nom_Model='+this.options[this.selectedIndex].value;">
Voila je comprend pas pourquoi en mixant mon cas 2 et cas 3 ca marche pas...

Sinon, j'avais pensé avec un hidden text, mais j'y arrivais pas trop non plus (pas des masse cherché non plus)

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 mars 2006, 00:43

Salut,

C'est un problème de Javascript et non de php à première vue :wink:

Sinon il manque un + pour concaténer les chaines avant "&":
<select name="Model" id="Model" onchange="document.location.href='Finition.php?Nom_Model=' + this.options[this.selectedIndex].value + '&Code_Model='+this.selectedIndex;">

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 00:55

A ouias c'est vachement mieux comme ca.. Merci...

Invité
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 01:21

Par contre je vais pas te lacher aussi vite lol...

Bon maitenant j'ai ouvert ma nouvelle page, j'ai déclaré 2 variable (avec un $_GET['Code_Mode'] etc...)

J'ai fait une nouvelle liste, et l'idée c'est qu'elle ouvre une page (donc de la meme maniere qu'avant), mais cette fois avec mes deux variable php déclaré (celle provenant du $_GET) ca donne un truc comme ca (basé sur le code précedent)

Code : Tout sélectionner

"document.location.href='Motorisation.php?Nom_Model='+$Nom_Mod+'&Code_Model='+Code_Mod+'&Nom_Mot='+this.options[this.selectedIndex].value;"
Bon la faille je sais qu'elle vient de l'intégration de variable php dans mon truc, le problème c'est que je ne sais pas comment faire... ^^

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

23 mars 2006, 01:45

Par contre je vais pas te lacher aussi vite lol...
Peut être mais moi oui :lol:

Je reprend l'événement onchange qui doit etre écrit hors tags php (<? ?>) :
onchange="document.location.href='Motorisation.php?Nom_Model='+<? echo $Nom_Mod; ?>+'&Code_Model='+Code_Mod+'&Nom_Mot='+this.options[this.selectedIndex].value;"

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 02:11

"document.location.href='Motorisation.php?Nom_Model='+<? echo $Nom_Mod; ?>+'&Nom_Fin='+this.options[this.selectedIndex].value+'&Code_Fin='+(this.selectedIndex+1);"
Ben non... il en veut toujours pas...
Peut être mais moi oui Laughing
Bon quelqu'un d'autre? Remarque je vais aller me pieuter moi aussi, je me leve a 6h30 demain... merci en tout cas...

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 02:24

Juste avant de me coucher, j'ai fait deux hidden text, qui prenent les valeur souhaitez puis je met ce code
"document.location.href='Motorisation.php?Nom_Model='+Nom_Model.value+'&Code_Model='+Code_Model.value+'&Nom_Fin='+this.options[this.selectedIndex].value+'&Code_Fin='+(this.selectedIndex+1);"
et la il affiche bien la page, mais pas avec les bonne valeur... voila l'adresse que j'obtien (costaud l'adresse)
Motorisation.php?Nom_Model=%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Use%20of%20undefined%20constant%20Nom_Mod%20-%20assumed%20'Nom_Mod'%20in%20%3Cb%3Ed:\apps\easyphp1-8\www\audi\finition.php%3C/b%3E%20on%20line%20%3Cb%3E35%3C/b%3E%3Cbr%20/%3ENom_Mod&Code_Model=%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Use%20of%20undefined%20constant%20Code_Mod%20-%20assumed%20'Code_Mod'%20in%20%3Cb%3Ed:\apps\easyphp1-8\www\audi\finition.php%3C/b%3E%20on%20line%20%3Cb%3E34%3C/b%3E%3Cbr%20/%3ECode_Mod&Nom_Fin=Attraction&Code_Fin=1
Apparement c'est les hidden qui se chargent pas avec les valeurs souhaitaient... voila comment je les 'fabrique'
<input name="Code_Model" type="hidden" id="Code_Model" value="<? echo Code_Mod; ?>" />
<input name="Nom_Model" type="hidden" id="Nom_Model" value="<? echo Nom_Mod; ?>" />
J'ai donc fait un test avec un textfield normal, et pour le premier, j'ai comme valeur entré : <br />... Voila... sur ce bonne nuit les amis...

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 02:25

Bon d'accord j'ai oublié de mettre un ptit $ avant ok je sors... sinon c bon ca marche... lol

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 02:32

Et sinon je peux lancer sur un autre problème? oui merci...

Bon ma liste, elle est chargé via une base de donnée ou j'ia trois données par enregistrment (code, nom, code lié ->venant d'une autre table)

Le code lié me permet de trier pour n'afficher que les enregistrement voulus, ca ca marche bien. Par contre, autant la premier fois, je récupéré le premier code avec un selectedIndex + 1, vu que toutes les donnée de ma base était dans la liste, la le tri m'empeche de faire ca... Comment récupérer le code corespondant à l'enregistrement sélectionnée dans ma liste? <-- Tiens si ca continue vous allez tous faire à a place (désolé, je débute... mais ca devrait pas tarder a aller mieux...)

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 10:03

En fait, je charge ma liste avec en Valuer, mon Code, et en etiquette (donc lorsqu'on fait une selection c'est ce qu'on voit), mon Nom.

Voila, je peux donc comme ca récupérer le code

Code : Tout sélectionner

this.options[this.selectedIndex].value
et je me demander si il existait pas un moyen de faire ca:

Code : Tout sélectionner

this.options[this.selectedIndex].etiquette
bon etiquette c'est pas ca je sais mais bon... Si quelqu'un sait comment récupéré ce qui est affiché, et non pas la 'value', merci...

PsykotropyK
Invité n'ayant pas de compte PHPfrance

23 mars 2006, 10:10

Tant qu'on y est voici comment je 'charge' ma liste

Code : Tout sélectionner

<option value="<?php echo $row_Finition['Code_Fin']?>"><?php echo $row_Finition['Fin']?></option>