Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1516 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  help php liste déroulante via mysql

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

help php liste déroulante via mysql

n°975086
geor
Posté le 08-02-2005 à 09:09:16  profilanswer
 

Bonjour, j'aurais souhaité faier 2 listes déroulantes sur une même page mais l'une dépendant de l'autre, je m'explique:
Quand l'utilisateur aura sélectionné un élément dans la première liste, la deuxième apparaîtera avec différentes info concernant la première selection.
Une fois cette deuxième sélection faite, un résultat est obtenu.
Je ne sais si je dois utiliser du php ou du javascript, mais dans les deux cas, je suis novice...
  Merci d'avance pour vos aides...

mood
Publicité
Posté le 08-02-2005 à 09:09:16  profilanswer
 

n°975087
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:11:21  profilanswer
 

Le mieux est d'utiliser du php, sinon ceux qu'ont pas javascript seront baisés.
 
Donc tu met ta première liste, dans un formulaire, avec un bouton ok. Lors de l'envoi, ton script php récupère la deuxième liste, et réaffiche la page avec :)

n°975090
couak
Posté le 08-02-2005 à 09:13:12  profilanswer
 

bof la majorité des navigateurs interpètent le javascript :/
moi je dirais qu'il faut utiliser php pour générer du javascript :D c'est plus fun

n°975091
Xav_
The only one...
Posté le 08-02-2005 à 09:13:24  profilanswer
 

le sujet a déjà été moulte fois abordé, fait une tite recherche et tu trouvera des exemples dans les réponses déjà apportées ;)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°975094
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:15:02  profilanswer
 

couak a écrit :

bof la majorité des navigateurs interpètent le javascript :/
moi je dirais qu'il faut utiliser php pour générer du javascript :D c'est plus fun


9% n'ont pas javascript :o
 
Et l'accessibilité, bourdel /FOU/

n°975098
geor
Posté le 08-02-2005 à 09:18:22  profilanswer
 

donc javascript ou php, et je n'ai trouvé aucun script sur lequel la deuxième liste apparait lors de la selection à la première, et je rapel que je suis novice... si vous avez des scripts a me proposer, je suis preneur... Merci.

n°975101
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:20:43  profilanswer
 

Nope, on ne peut que t'aider si tu bosses par toi-mêmes :D (lis la charte ;) )
 
Faut faire ça en php, c'est tout simple.

n°975104
geor
Posté le 08-02-2005 à 09:24:04  profilanswer
 

je veux bien bosser, c juste que je voudrais un coup de mains. Je suis queqlu'un de très motivé, mais donner moi juste une ou deux piste dans ce cas, php VS javascript ...?
apparition sur selection: 0 réponse google... Yeah!... Merci...

n°975112
couak
Posté le 08-02-2005 à 09:33:14  profilanswer
 

FlorentG a écrit :

9% n'ont pas javascript :o
 
Et l'accessibilité, bourdel /FOU/


bah spa de ma faute si 9% des gens qui surfent sur le web sont soit des extrémistes religieux qui utilisent un navigateur des années 1600, soit des parano qui ont peur du javascript

n°975113
couak
Posté le 08-02-2005 à 09:34:18  profilanswer
 

geor a écrit :

je veux bien bosser, c juste que je voudrais un coup de mains. Je suis queqlu'un de très motivé, mais donner moi juste une ou deux piste dans ce cas, php VS javascript ...?
apparition sur selection: 0 réponse google... Yeah!... Merci...


il faut commencer les choses dans l'ordre : comprendre ce qu'est PHP, comprendre ce qu'est Javascript
 
les jeunes d'aujourd'hui n'ont jamais connu les bibliothèques où on cherchait manuellement dans les index :/ aujourd'hui ils font tout avec google

mood
Publicité
Posté le 08-02-2005 à 09:34:18  profilanswer
 

n°975114
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:34:29  profilanswer
 

Comme dit :
T'affiche sur ta page un formulaire (<form> ), avec dedans ta liste (<select> et liste d'<option> dedans), et un bouton ok(<input> ). Une fois le formulaire envoyé, tu récupère la valeur du <select>, tu cherches les valeurs qui vont bien, et tu affiches la deuxième <select>.

n°975117
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:36:40  profilanswer
 

couak a écrit :

bah spa de ma faute si 9% des gens qui surfent sur le web sont soit des extrémistes religieux qui utilisent un navigateur des années 1600, soit des parano qui ont peur du javascript


ACCESSIBILITE /FOU/MECHANT/PAS CONTENT/
 
Directive 6 des WCAG :

Citation :

S'assurer que les pages soient visibles lorsque les scripts, les applets ou autres artefacts programmables sont désactivés ou non supportés.

n°975118
geor
Posté le 08-02-2005 à 09:36:57  profilanswer
 

comment afficher avec retardement? (kan la première choisit, apparition de la deuxième?

n°975122
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:38:52  profilanswer
 

geor a écrit :

comment afficher avec retardement? (kan la première choisit, apparition de la deuxième?


Comme dit, l'internaute choisira un élément dans la liste, cliquera sur ok, et là ton script affichera la deuxième.

n°975123
geor
Posté le 08-02-2005 à 09:39:58  profilanswer
 

et a koi sert le "on change"?

n°975124
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:40:35  profilanswer
 

geor a écrit :

et a koi sert le "on change"?


Quand on change la valeur du <select>

n°975128
FlorentG
Unité de Masse
Posté le 08-02-2005 à 09:46:33  profilanswer
 

Note qu'il ne faut absolument pas utiliser le onchange pour afficher l'autre select, comme expliqué dans ce billet sur openweb

n°975220
geor
Posté le 08-02-2005 à 11:37:34  profilanswer
 

Comment sauvegarder la selection de la première dans une variable a utiliser dans la deuxième liste déroulante qui se trouve sur la même page.??? Merci d'avance.

n°975238
FlorentG
Unité de Masse
Posté le 08-02-2005 à 11:53:28  profilanswer
 

Ben quand t'envoi le formulaire, tu récupère la valeur de la select :heink:

n°975249
Berceker U​nited
PSN : berceker_united
Posté le 08-02-2005 à 12:01:25  profilanswer
 

geor a écrit :

donc javascript ou php, et je n'ai trouvé aucun script sur lequel la deuxième liste apparait lors de la selection à la première, et je rapel que je suis novice... si vous avez des scripts a me proposer, je suis preneur... Merci.


tu trouveras pas de script traitant de cela parce que c'est juste une question de logique.

  • 1 je selectionne un élement du menu select
  • 2 ce menu envoy un parametre [...].php?selection=valeuroption
  • 3 si [selection] est détecté alors affiche le deuxième select.


il faut juste réfléchire un peut. si tu comprend le principe des parametre/variable, générer un menu select, et le sql ben tu as tous les élément pour faire ce que tu souhaite.

n°975377
geor
Posté le 08-02-2005 à 14:01:14  profilanswer
 

et sans formulaire ni bouton ok, c possible sans javascript???

n°975380
FlorentG
Unité de Masse
Posté le 08-02-2005 à 14:02:04  profilanswer
 

Sans javascript, non, t'es obligé d'avoir un formulaire avec bouton.
 
D'ailleurs même avec javascript, c'est obligatoire de passer par du php derrière, donc dans tous les cas faut envoyer la valeur de ton select

n°975381
geor
Posté le 08-02-2005 à 14:03:02  profilanswer
 

comment rafraichir sans bouton ok en php???

n°975383
FlorentG
Unité de Masse
Posté le 08-02-2005 à 14:04:30  profilanswer
 

geor a écrit :

comment rafraichir sans bouton ok en php???


Est-ce que tu as lu mes précédents post ? :heink:
 
TOUJOURS FOUTRE UN BOUTON OK §§§ /FOU/
 
Tous le monde n'a pas javascript, tout le monde ne choisis pas les valeurs par la souris, faut être accessible à tous. Donc tu met un bouton ok :o

n°975573
geor
Posté le 08-02-2005 à 16:30:05  profilanswer
 

bon, sur 'conseil' de mon supérieur, j'ai utilisé javascript... :ange:  
mes liste fonctionnent parfaitement bien que j'ai eu un peu de mal...
 
Je vous en remercie tous pour vos conseils.  :jap:  :)  
 
Il ne me reste plus qu'une chose a voir, je cherche à cacher ma 2ème balise tant que un élément de la première n'a pas été selectionné.
Si quelqu'un sait faire ca, merci de me donner un ou deux petit truc...
Merci encore à tous.  :hello:  

n°975574
FlorentG
Unité de Masse
Posté le 08-02-2005 à 16:32:01  profilanswer
 

C'est qui ton supérieur ???  
 
Amenez-moi la pelle à clous /MECHANT/ FOU/

n°975584
geor
Posté le 08-02-2005 à 16:38:12  profilanswer
 

c un supérieur...
 
 1ère Règle: Ton supérieur a tjr raison.
 2ème règte: kan il a tor, se référer à la règle 1
 3ème règle: Si t'es pas content, la porte reste ouverte, même en hiver...
 
 Donc, pas trop le choix...
Si quelqu'un as une réponse, concernant la liste à cacher...

n°975587
FlorentG
Unité de Masse
Posté le 08-02-2005 à 16:40:36  profilanswer
 

4ème règle : ton supérieur n'a jamais raison, il n'y connait jamais rien :D
 
Et voilà encore une fois, l'accessibilité ruinée :cry:

n°975591
geor
Posté le 08-02-2005 à 16:42:13  profilanswer
 

Ben ouhai mè ca répond pas à ma question...

n°975598
FlorentG
Unité de Masse
Posté le 08-02-2005 à 16:44:20  profilanswer
 

En CSS, avec display: none;, puis display: inline; pour le réafficher (sachant que <select> est une balise inline par défaut)

n°975619
geor
Posté le 08-02-2005 à 16:51:24  profilanswer
 

ouhai, mais en javascipt??? ou au pire en php???

n°975622
FlorentG
Unité de Masse
Posté le 08-02-2005 à 16:52:05  profilanswer
 

Ben en javascript, ça va être :

document.getElementById('id_de_ton_select').style.display = 'none';

n°975629
geor
Posté le 08-02-2005 à 16:55:13  profilanswer
 

merci... ;)

n°975648
Dj YeLL
$question = $to_be || !$to_be;
Posté le 08-02-2005 à 17:02:41  profilanswer
 

Bon j'ai lu vite fait le topic, voici mon avis :
 
Tu créés une première liste <select>, avec un bouton valider, ainsi qu'un eventuel script qui fasse un auto-submit lors d'un changement, comme ça tu as ce que tu voulais au départ, mais tout en contentant les personnes n'ayant pas JS :)
 
++


---------------
Gamertag: CoteBlack YeLL
n°975650
geor
Posté le 08-02-2005 à 17:03:17  profilanswer
 

j'ai juste du mal a m'en servir... vu que j'ai mis mon javascript au début, je ne sais trop ou placer  
 
document.getElementById('id_de_ton_select').style.display = 'none';
 
et
 
document.getElementById('id_de_ton_select').style.display = 'inline';
 
.
.
.

n°975661
geor
Posté le 08-02-2005 à 17:09:24  profilanswer
 

j'ai juste du mal a m'en servir... vu que j'ai mis mon javascript au début, je ne sais trop ou placer  
 
document.getElementById('id_de_ton_select').style.display = 'none';
 
et
 
document.getElementById('id_de_ton_select').style.display = 'inline';
 
Je vous donne mon script:
 
<?php  
  // connection à la base de donnée QuiFaitQuoi via la page de connection : connectionmysql.php
  include "connectionmysql.php";
 // Connection();
?>
 
<script language="JavaScript">
function selectTypePers(){
 var Dem =new Array();
 <?php
    global $sqlDB,$sqllink,$sqlhost,$sqllogin,$sqlpasswd;
    $sqllink = mysql_pconnect($sqlhost,$sqllogin,$sqlpasswd);
    @mysql_select_db("$sqlDB",$sqllink) or die("CONNEXION à MYSQL IMPOSSIBLE.<BR>Vérifiez les paramètres de connexion dans mysql.php" );
 $sql = "SELECT t1.NumTYPEPERS, t1.TypePers,t2.DEMANDES, t2.ORGCOMD FROM `personne` t1,`demandes` t2
   where t1.NumTYPEPERS = t2.ORGCOMD";
 $ReqLog = mysql_query($sql) or die("toto" ) ;
 //creation des listes
 while ($col = mysql_fetch_row($ReqLog)){
  echo "var colonne = new Array(\"$col[1]\",\"$col[2]\" );\n";
  echo "Dem[Dem.length]=colonne;\n";
 }
 ?>
 var i,ind,val,long;
 document.forms["frmdem"].DEMANDES.selectedIndex = 0;
 //vider la liste
   while(document.forms["frmdem"].DEMANDES.options[1])
  document.forms["frmdem"].DEMANDES.options.remove(1);
 long=1;
 //selection d'une ligne ds la liste
 ind=document.forms["frmdem"].TypePers.selectedIndex;
 val=document.forms["frmdem"].TypePers.options[ind].text;
 for(i=0;i<Dem.length;i++){
  if(Dem[i][0] == val){
   op = new Option(Dem[i][1],Dem[i][1]);
   document.forms["frmdem"].DEMANDES.options[long]=op;
   long++;
 
//   op = new Option(GGR[i][0],GGR[i][0]);
//   document.forms["form1"].choix_GGR.options[long]=op;
  }
 }
}
</script>
<html>
<head>
<title>QuiFaitQuoi???</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<body bgcolor="#EF7D0C">
<form action="" method="get" name="frmdem">
<div align="center" bgcolor="#FFFFFF" >  
  <table width="100%" height="107" border="0" bgcolor="#CCCCCC">
    <tr>  
      <td width="23%" rowspan="3"><img src="logo%20EGD22%2012%202004.jpg" width="178" height="80"></td>
      <td width="58%" height="54"><div align="center"><strong><u><font color="#0000CC" size="+2">Bienvenue  
          sur le site de Qui Fait Quoi. </font></u></strong></div>
        <div align="center"></div></td>
      <td width="19%" rowspan="3"><div align="right"><strong><strong><img src="../images/hommequifaituntrou.gif" width="97" height="92"></strong></strong></div></td>
    </tr>
    <tr>  
    </tr>
    <tr>  
      <td height="22"><strong>  
        <center>
          <strong><u><font color="#0000cc" size="+1">DEMANDE</font></u></strong>  
        </center>
        </strong></td>
    </tr>
  </table>
  <table width="100%" height="14" border="0" bgcolor="#FFFFCC">
    <tr>  
      <td width="103%" height="10"><center>
          <img src="../images/ligne%20de%20construction.gif" width="600" height="8"></center></td>
    </tr>
  </table>
   
     
  <table width="100%" border="0">
    <tr>  
      <td width="30%"><div align="right">&Ecirc;tes-vous:</div></td>
      <td width="70%">  
     
     <?php  
   
    echo '<select size=1 name="TypePers" OnChange="selectTypePers()">';  
    echo '<option value="-1" selected >Choisir une sélection</option>';  
   
    // Récupération des informations
    $sql = "SELECT TypePers FROM Personne";  
    $ReqLog = mysql_query($sql);
   
    while ($resultat = mysql_fetch_row($ReqLog)) {  
      echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';  
    }  
    echo '</select>';  
  ?>
 
    </tr>
    <tr>  
      <td><div align="right">Votre demande concerne:</div></td>
      <td>
   
   <?php  
     
    echo '<select size=1 name="DEMANDES">';  
    echo '<option value="-1" selected >Choisir une sélection</option>';  
    // Récupération des informations
    $sql = "SELECT distinct DEMANDES FROM demandes";  
    $ReqLog = mysql_query($sql);
    while ($resultat = mysql_fetch_row($ReqLog)) {  
      echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';  
    }  
   
    echo '</select>';  
 
  ?>  
   
   
   </td>
    </tr>
    <tr>  
      <td><div align="right">Votre commune est:</div></td>
      <td>
   
   <?php  
   
    echo '<select size=1 name="Commune" OnChange="selectTypePers()">';  
    echo '<option value="-1" selected >Choisir une sélection</option>';  
   
    // Récupération des informations
    $sql = "SELECT distinct commune FROM COMMUNE";  
    $ReqLog = mysql_query($sql);
   
    while ($resultat = mysql_fetch_row($ReqLog)) {  
      echo '<option value="'.$resultat[0].'">'.$resultat[0].'</option>';  
    }  
    echo '</select>';  
  ?>
   
   
   
   </td>
    </tr>
  </table>
  </form>        
</div>
</body>
</html>
 
 

n°976069
geor
Posté le 09-02-2005 à 09:29:08  profilanswer
 

UP, quelqu'un peut m'aider???

n°976071
FlorentG
Unité de Masse
Posté le 09-02-2005 à 09:29:49  profilanswer
 

Faut mettre le script à la fin

n°976083
geor
Posté le 09-02-2005 à 09:42:20  profilanswer
 

a la fin d'où? du javascript? et lequel, le none ou le inline???

n°976085
FlorentG
Unité de Masse
Posté le 09-02-2005 à 09:43:28  profilanswer
 

Non, tout le script juste avant le </body>

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  help php liste déroulante via mysql

 

Sujets relatifs
[Java MySQL] Problème de Savepoints !probleme avec l'api c Mysql
erreur sur une commande MySql...dump MySQL
Migration Access/VBA/Windows=> PHP/MySQL/LinuxHelp Me !
liste déroulante affichage automatiqueimage php mysql
PHP/MySQL: liste déroulante, affichage automatique 
Plus de sujets relatifs à : help php liste déroulante via mysql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR