IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[PHP-JS] Problème de Recupération en liste Dynamique


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut [PHP-JS] Problème de Recupération en liste Dynamique
    Bonjour,

    Voila, jai un petit soucis pour récupérer des données provenant d un "<select>".

    Pour du <text> pas de soucis, c est du statique que je recup en javascript.

    Par contre, je génére des listes déroulante dynamiquement, et pour récup leur données c est bien la galère...

    En faite, j utilise une redirection en javascript : "Windows.location.href" ...

    Donc, si je récup mes infos en utilisant directement le nom de monselect (par exemple $nombreChambre0, les infos sont perçu avec un décalage d'une redirection en trop...et si je tente le $_POST, bah là, y'a meme plusd'info (method est bien en post hein ).

    Bref, Alors j'ai tenté le javascript, mais là aussi la galère....

    Je dois faire une boucle qui s'arrete au nombre de chambre selectionné :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    for (i=1;i<chambre;i++) { 
    valAdulte +=document.chambre.elements['nombreAdulteCham'+i].options[document.chambre.elements['nombreAdulteCham'+i].selectedIndex].value; 
    valEnfant +=document.chambre.elements['nombreEnfantCham'+i].options[document.chambre.elements['nombreEnfantCham'+i].selectedIndex].value; }
    Là par contre,il n'y a même plus de redirection qui se fait, car heu je sais pas lol....

    Bref, c'est la méga galère, et je remercierai celui qui m'aidera à placer les infos de mes listes déroulantes (qui s'affiche en fonction d'une autre) correctement dans l'url.

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Il faudrait le code du formulaire et de la page de traitement.
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par JWhite
    Il faudrait le code du formulaire et de la page de traitement.

    pas de soucis : PAs de page de traitement, la redirection, se fait sur la page elle même

    Leformulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
    <form  style="height:20px;margin:0;padding:0;"  method="POST" name="formu" action="javascript:rafraichir(0)" >
     
    Indiquez le jour de votre Arrivée : 
     
    <input  onblur="submit()"   type='text' value="<? echo  "$da1"; ?>"  name='text1'>
     
    <input  onblur="submit()"   type='text' value="<? echo  "$da2"; ?>"  name='text1'>
     
    Nombres de chambres :
     
    <select style="margin:0;padding:0;" onchange="submit()" name="chambre">
     
    <?PHP
    		for ($i=1;$i<6;$i++)
    		{	
    				if ($i==$chambre) echo "<option value=\"$i\" SELECTED>$i</option>" ;
    				else echo "<option  value=\"$i\">$i</option>" ;
    		} 
    ?>
    </select>
     
     
     
    Nombres de Personnes par chambre :
    <?PHP
    	for ($i=0;$i<$chambre;$i++)
    	{			
    	$temp=$i+1;
    	echo "<br><u>Chambre $temp </u> :
    	Adultes :<select style='margin:0;padding:0;' onchange='submit()' name='nombreAdulteCham$i'>" ;
    	$nbAdulte=0;	
    			for ($j=3;$j>=0;$j--)
    			{
    				if ($nbAdulte==${"nombreAdulteCham".$i}) echo "<option value=\"$nbAdulte\" SELECTED> $nbAdulte</option>" ;
    				else echo "<option  value=\"$nbAdulte\">$nbAdulte</option>" ;
    				$nbAdulte++;
    			}
    	echo "</select>";
     
    	$nbEnfant=0;
    	echo "&nbsp;Enfants (-12ans) :<select style='margin:0;padding:0;' onchange='submit()' name='nombreEnfantCham$i'>" ;
     
                            for ($j=3;$j>=${"nombreAdulteCham".$i};$j--)
    			{
    			if ($nbEnfant==${"nombreEnfantCham".$i}) echo "<option value=\"$nbEnfant\" SELECTED> $nbEnfant</option>" ;
    			else echo "<option  value=\"$nbEnfant\">$nbEnfant</option>" ;
    			$nbEnfant++;
    			}
    	echo "</select>";
    	}

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    function rafraichir(affiche)
    {
    var temp1=document.forms['formu'].elements['text1'].value;
    var temp2=document.forms['formu'].elements['text2'].value;
    var cha=document.forms["formu"].elements['chambre'].options[document.forms["formu"].elements['chambre'].selectedIndex].value ;
     
    for (i=1;i<chambre;i++) { 
    valAdulte +=document.chambre.elements['nombreAdulteCham'+i].options[document.chambre.elements['nombreAdulteCham'+i].selectedIndex].value; 
    valEnfant +=document.chambre.elements['nombreEnfantCham'+i].options[document.chambre.elements['nombreEnfantCham'+i].selectedIndex].value; 
    }
     
    window.location.href="Reservation.php?bo="+affiche+"&da1="+temp1+"&da2="+temp2+"&nombreAdulteCham1="+valAdulte+"&nombreEnfantCham1=valEnfant "+valEnfant+"&chambre="+cha
     
    }

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    En fait je comprends pas l'intérêt de la fonction JavaScript, peux-tu expliquer ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par JWhite
    En fait je comprends pas l'intérêt de la fonction JavaScript, peux-tu expliquer ?

    Elle n'a qu'un seul et unique intérêt que le Php ne permet pas : la redirection

    Pour le php,on est obligé de mettre un header en "haut de page", de ce faite, c'est pas pratique du tout du tout....Notament pour la recup des infos.

    C'est clair que tout aurait été fait en php sinon, A moins que tu connaisse une méthode php qui me permettent de me rediriger les infos ?

  6. #6
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Mais si j'ai bien compris avec ta fonction JS la redirection est vers ta page courante non ?
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par JWhite
    Mais si j'ai bien compris avec ta fonction JS la redirection est vers ta page courante non ?

    oui avec les infos en plus

    En faite, j'active la fonction dans le action de <form> et dans les "onchange" de mes champs, je met simplement un submit

  8. #8
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Il suffit de mettre le nom de ta page courante dans l'attribut ACTION de ton FORM. Et jouer ensuite avec isset
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par JWhite
    Il suffit de mettre le nom de ta page courante dans l'attribut ACTION de ton FORM. Et jouer ensuite avec isset

    J'étais sure que t'allais me dire ca....

    Mais juste deux petite remarquee, j'utilise la fonction aussi dans un lien pour afficher un calendrier d'ou le rafraichir(AFFICHE) ... action serait une solution unique..

    Ensuite, j'ai pas très bien compris les isset, a part le bouton type=submit... si tu peux me donner des exemples ??

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Oui bah c'est bien ce que je pensais, ca me garde les infos des listes, mais par contre, m'efface les champs texte que je viens taper au submit :'(....

    Si tu trouve un moyen de garder ce champs texte au submit car la date ne s'affiche pas dans l'url, donc n'est pas reconnu dans mon value ?

    Je fais ca :

    action="Reservation.php?da1=<? echo "$da1"; ?>&da2=<? echo "$da2"; ?>

    J'avais d'ailleurs oublier ce détail ^^, les champs textes ne peuvent être récupérer instantanément en php

  11. #11
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    J'ai pas tout capté là...
    Il y a des champs texte que tu n'arrives pas à récupérer
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Bon ok, désolé, le champs ne s'efface pas

    j'avais oublier de mettre au même nom les "value" et "name" de mon champ.

    Mais bref, si j'utilise le php comment je fais pour pour rediriger mon "action" dynamiquement ? c'est à dire, jumper d'url si je clique sur un bouton...

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    170
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 170
    Points : 62
    Points
    62
    Par défaut
    Citation Envoyé par Alexino2
    Bon ok, désolé, le champs ne s'efface pas

    j'avais oublier de mettre au même nom les "value" et "name" de mon champ.

    Mais bref, si j'utilise le php comment je fais pour pour rediriger mon "action" dynamiquement ? c'est à dire, jumper d'url si je clique sur un bouton...

    Bon apparament, impossible de rediriger mon action en php à ma guise (a savoir san utiliser de sessions, qui ne marche qu'au bout du 3ème click, sans utiliser une page de vérification qui alourdirait les taches, ou sans SQL....Bref c'est apparament la galère.

    Donc j'ai finalement trouvé une solution pour recup mes infos à ma guise et dynamiquement, ca parait un peu root, mais ca l'air de marcher (contrairement à la boucle en javascript)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <? for ($i=0;$i<$chambre;$i++)
    { ?>
     
    valAdulte +=document.formu.elements['nombreAdulteCham'+<? echo "$i" ; ?>].options[document.formu.elements['nombreAdulteCham'+<? echo "$i" ; ?>].selectedIndex].value+"/";
    valEnfant +=document.formu.elements['nombreEnfantCham'+<? echo "$i" ; ?>].options[document.formu.elements['nombreEnfantCham'+<? echo "$i" ; ?>].selectedIndex].value+"/";
     
    <? } ?>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] problème remplissage liste dynamique php mysql
    Par jeinny dans le forum PHP & Base de données
    Réponses: 28
    Dernier message: 25/05/2009, 17h32
  2. [PHP-JS] Listes Dynamiques en PHP
    Par thechakib dans le forum Langage
    Réponses: 11
    Dernier message: 10/06/2006, 16h11
  3. Réponses: 49
    Dernier message: 13/03/2006, 11h25
  4. [PHP-JS] Liste dynamique
    Par SuperBn dans le forum Langage
    Réponses: 4
    Dernier message: 09/02/2006, 17h09
  5. Réponses: 1
    Dernier message: 16/01/2006, 17h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo