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 :

Actualiser ma requête en fonction de ma liste déroulante


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut Actualiser ma requête en fonction de ma liste déroulante
    Bonjour,

    Je veux faire un listing avec un liste déroulante pour filtrer par service mon listing et un bouton recherche.

    Par défaut quand j'arrive sur ma page j'ai le listing qui s'affiche avec tous les services.

    Quand je sélectionne un service dans ma liste déroulante et que je Click sur ma recherche il m'affiche toujours tous les services car il ne garde pas en mémoire la variable service(vu que ma page est rechargé).

    Comment puis je faire pour qu'il initialise pas ma variable qui contient le service quand je click sur recherche.(Je veux faire mon listing en une page)

    Voici mon code:


    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
     
     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<title></title>
    	</head>
    	<body>
    	<input type="button" name="value" value="Rechercher" onclick="self.location.href='LISTING_BLOC.php'" style="background-color:#3cb371" style="color:white; font-weight:bold"onclick> 
    	<select name="choix de US" size="1" style="width:150px">
     
    	<?PHP
    		/*#######################*/	
    	   /*#CONNEXION A L'AS400  #*/
    	  /*#######################*/	
     
    		$dsn = "*****"; /* Nom du lien ODBC mis dans le fichier de configuration odbc.ini */
    		$user = "******"; /* Votre nom d’utilisateur AS400 */
    		$passwd = "*******"; /* Mot de passé AS400 */
    		$connAs400 = odbc_connect($dsn,$user,$passwd );	
     
    		if ($connAs400 <= 0) 
    		{
    			echo "Erreur dans la connexion<BR>";
    			exit;
    		}
    		else 
    		{				
    			$query = "SELECT distinct servi from program.zp5reser";
    			$result = odbc_exec($connAs400, $query);
    			echo "<option>Toutes les US</option>"; 
     
    			while(odbc_fetch_row($result))
    			{
    				//echo odbc_result($result, 1);
    				echo "<option>".odbc_result($result, 1)."</option>"; 
     
    			}
    			$US=($_POST['value']);
    			echo $US;
     
    			echo "</select>";
     
    			if ($US=="Toutes les US" or $US=="" )$US="%";
     
    			$query = "SELECT nompre,datent,datope,intlib,
    					case(cp) when ' ' then 'CC' 
    					else 'CP' 
    					end as Type_cham,
    					pbdob,pbsex,nomm,datent+nbrjrs days,
    					case dayofweek_iso(datent)
    					when 1 then 'Lundi' 
    					when 2 then 'Mardi' 
    					when 3 then 'Mercredi' 
    					when 4 then 'Jeudi' 
    					when 5 then 'Vendredi' 
    					when 6 then 'Samedi' 
    					else 'Dimanche' 
    					end 
    					from sysibm.sysdummy1,program.zp5reser,medcpof.sptml0,medcpofb.smedec 
    					where pbmrn=dos7a and datent>=current_date and datent<=current_date + 15 days and meopen=nrpr and servi like'$US'";
     
    			//echo $query;
    			$result = odbc_exec($connAs400, $query);
    			echo '<table bgcolor="#FFFFFF">'."\n";
    			echo '<tr>';
    			echo '<td bgcolor="#6495ED"><b><u>Jour</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_entrée</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Nom_Prénom</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_nais</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Sexe</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Chirurgien</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Intervention</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Type_cham</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_interven</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_sortie</u></b></td>';
    			echo '</tr>'."\n";
    			while(odbc_fetch_row($result))
    			{
    				$nom = odbc_result($result, 1);
    				$datent = odbc_result($result, 2);
    				$datent=substr($datent,8,9) ."/". substr($datent,5,2)."/".substr($datent,0,4);
    				$datope = odbc_result($result, 3);
    				$datope=substr($datope,8,9) ."/". substr($datope,5,2)."/".substr($datope,0,4);
    				$Intervention = odbc_result($result, 4);
    				$Type_cham = odbc_result($result, 5);
    				$Date_nais= odbc_result($result, 6);
    				$Date_nais=substr($Date_nais,6,2) ."/". substr($Date_nais,4,2)."/".substr($Date_nais,0,4);
    				$Sexe = odbc_result($result, 7);
    				$Chirurgien = odbc_result($result, 8);
    				$Date_sortie = odbc_result($result, 9);
    				$Date_sortie=substr($Date_sortie,8,9) ."/". substr($Date_sortie,5,2)."/".substr($Date_sortie,0,4);
    				$Jour = odbc_result($result, 10);
    				echo '<tr>';
    				echo '<td bgcolor="#CCCCCC">'.$Jour.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$datent.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$nom.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Date_nais.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Sexe.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Chirurgien.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Intervention.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Type_cham.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$datope.'</td>';	
    				echo '<td bgcolor="#CCCCCC">'.$Date_sortie.'</td>';
    				echo '</tr>'."\n";
    			}		
    		} 
    		odbc_close($connAs400);
     
    	?>
     
    	</body>
    </html>
    D'avance merci

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Pourquoi tu ne passes pas un paramétre pour savoir ta variable service en mémoire ...

    genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <button onclick="document.location.href += '&param=param'"></button>
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    Merci de ton aide Fench.

    Mais je n'ai jamais utilisé cette méthode pourrais tu m'expliquer ?

    Pour le moment mon bouton ressemble à ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" name="value" value="Rechercher" onclick="self.location.href='LISTING_BLOC.php'" style="background-color:#3cb371" style="color:white; font-weight:bold"onclick>
    Merci

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Eh bien tu remplaces la location par le bout de code que je t'ai mis ...

    Et ensuite tu pourras réccupérer un paramétre comme tu veux pour gerer ta page en utilisant $_GET['param'] qui sera égal à option1 si dans le code tu mets:
    Comprends tu ?
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    J'ai un peu de mal a comprendre désolé

    J'ai essayé ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    <input type="button" name="value" value="Rechercher" onclick="document.location.href+='LISTING_BLOC.php'&param=param'"style="background-color:#3cb371" style="color:white; font-weight:bold"onclick>
    J'ai aussi essayé ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="button" name="value" value="Rechercher" onclick="document.location.href += '&param=param'"style="background-color:#3cb371" style="color:white; font-weight:bold"onclick>
    Mais sans sucés

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Désolé, tu le fait comme les paramétres dans une url avec des ? et des &

    Bon je vais te détailler plus, le mieux est de passer par une variable (c plus clair).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // Exemple avec deux paramètres
    // $param1 et $param2 contiennent des valeurs comme tu veux
    $href_desire='LISTING_BLOC.php?param1='.$param1.'&param2='.$param2;
     
    // Ensuite nous formatons le lien
    <input type="button" name="value" value="Rechercher" onclick="document.location.href=$href_desire" style="background-color:#3cb371" style="color:white; font-weight:bold"onclick>
    Ensuite au début de ta page pour mettre en place ton choix d'affichage des options de ton listing tu utilises
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_GET['param1'] et $_GET['param2']
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    Désolé je ne comprends toujours pas je pense que je vais le faire en deux pages pcq la je suis largué.

    Pq deux paramètré moi je dois juste retenir le service

    Merci de ton aide

  8. #8
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Laisses tomber, j'ai confondu ton code avec un autre et du coup mon idée est complétement c...e

    Non non pour toi c différent, laisse tombé le bouton, lui il est ok.
    Il faut que tu mettes le bouton et la liste dans un même formulaire <form> ok
    Ensuite lorsque l'utilisateur aura choisi un service, dans le post du formulaire tu pourras réccupérer la valeur de la liste et donc du service.

    Voilà, pense bien à faire un submit sur le onclick de ta liste.

    En dernier, tu utiliseras $_POST['non_de_ta_liste'] pour modifier l'affichage final.

    Encore désolé
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    Merci quand même de ton aide.

    Pour le moment j'ai ceci comme formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	<form name="Formulaire" method="post" action="LISTING.php">
    			<input type="submit" name="value" value="Rechercher" style="background-color:#3cb371" style="color:white; font-weight:bold"onclick>
    			<select name="choix" size="1" style="width:150px">
    	</form>
    Ma liste se construit a partir du résultat d'une requête. je mets le code complet:
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    	<head>
    		<title></title>
    	</head>
    	<body>
    	<form name="Formulaire" method="post" action="LISTING.php">
    			<input type="submit" name="value" value="Rechercher" style="background-color:#3cb371" style="color:white; font-weight:bold"onclick>
    			<select name="choix" size="1" style="width:150px">
    	</form>
     
    	<?PHP
    		/*#######################*/	
    	   /*#CONNEXION A L'AS400  #*/
    	  /*#######################*/	
    		$choix=$_POST['choix'];
    		echo "<br>Votre choix est : ",$choix;
    		$dsn = "*****"; /* Nom du lien ODBC mis dans le fichier de configuration odbc.ini */
    		$user = "****"; /* Votre nom d’utilisateur AS400 */
    		$passwd = "****"; /* Mot de passé AS400 */
    		$connAs400 = odbc_connect($dsn,$user,$passwd );	
     
    		if ($connAs400 <= 0) 
    		{
    			echo "Erreur dans la connexion<BR>";
    			exit;
    		}
    		else 
    		{				
    			$query = "SELECT distinct servi from program.zp5reser";
    			$result = odbc_exec($connAs400, $query);
    			echo "<option>Toutes les US</option>"; 
     
    			while(odbc_fetch_row($result))
    			{
    				//echo odbc_result($result, 1);
    				echo "<option>".odbc_result($result, 1)."</option>"; 
     
    			}
     
    			echo "</select>";
     
    			$query = "SELECT nompre,datent,datope,intlib,
    					case(cp) when ' ' then 'CC' 
    					else 'CP' 
    					end as Type_cham,
    					pbdob,pbsex,nomm,datent+nbrjrs days,
    					case dayofweek_iso(datent)
    					when 1 then 'Lundi' 
    					when 2 then 'Mardi' 
    					when 3 then 'Mercredi' 
    					when 4 then 'Jeudi' 
    					when 5 then 'Vendredi' 
    					when 6 then 'Samedi' 
    					else 'Dimanche' 
    					end 
    					from sysibm.sysdummy1,program.zp5reser,medcpof.sptml0,medcpofb.smedec 
    					where pbmrn=dos7a and datent>=current_date and datent<=current_date + 15 days and meopen=nrpr";
     
    			}
     
    			$result = odbc_exec($connAs400, $query);
    			echo '<table bgcolor="#FFFFFF">'."\n";
    			echo '<tr>';
    			echo '<td bgcolor="#6495ED"><b><u>Jour</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_entrée</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Nom_Prénom</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_nais</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Sexe</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Chirurgien</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Intervention</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Type_cham</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_interven</u></b></td>';
    			echo '<td bgcolor="#6495ED"><b><u>Date_sortie</u></b></td>';
    			echo '</tr>'."\n";
    			while(odbc_fetch_row($result))
    			{
    				$nom = odbc_result($result, 1);
    				$datent = odbc_result($result, 2);
    				$datent=substr($datent,8,9) ."/". substr($datent,5,2)."/".substr($datent,0,4);
    				$datope = odbc_result($result, 3);
    				$datope=substr($datope,8,9) ."/". substr($datope,5,2)."/".substr($datope,0,4);
    				$Intervention = odbc_result($result, 4);
    				$Type_cham = odbc_result($result, 5);
    				$Date_nais= odbc_result($result, 6);
    				$Date_nais=substr($Date_nais,6,2) ."/". substr($Date_nais,4,2)."/".substr($Date_nais,0,4);
    				$Sexe = odbc_result($result, 7);
    				$Chirurgien = odbc_result($result, 8);
    				$Date_sortie = odbc_result($result, 9);
    				$Date_sortie=substr($Date_sortie,8,9) ."/". substr($Date_sortie,5,2)."/".substr($Date_sortie,0,4);
    				$Jour = odbc_result($result, 10);
    				echo '<tr>';
    				echo '<td bgcolor="#CCCCCC">'.$Jour.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$datent.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$nom.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Date_nais.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Sexe.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Chirurgien.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Intervention.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$Type_cham.'</td>';
    				echo '<td bgcolor="#CCCCCC">'.$datope.'</td>';	
    				echo '<td bgcolor="#CCCCCC">'.$Date_sortie.'</td>';
    				echo '</tr>'."\n";
    			}		
    		odbc_close($connAs400);
     
    	?>
     
    	</body>
    </html>
    Pourrais tu me montrer comment faire ??

  10. #10
    Membre actif
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Points : 244
    Points
    244
    Par défaut
    OK c 'est bon merci

  11. #11
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Désolé hier, j'étais pas là mais dans ton code tu as du mettre tout entre les balises <form> </form> ...

    Si tu as réussi, très bien
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

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

Discussions similaires

  1. [AC-2007] Actualisation des champs en fonction d'une liste déroulante
    Par cool17 dans le forum IHM
    Réponses: 2
    Dernier message: 05/04/2010, 20h31
  2. Réponses: 2
    Dernier message: 29/06/2007, 11h20
  3. [Fonction]tri sur liste déroulante
    Par maxeur dans le forum IHM
    Réponses: 8
    Dernier message: 16/04/2007, 10h00
  4. Comment rappeler une fonction dans une liste déroulante
    Par strogos dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/05/2005, 23h54
  5. Réponses: 3
    Dernier message: 25/04/2005, 15h26

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