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 :

Requete php avec attribut sélectionné dans liste


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut Requete php avec attribut sélectionné dans liste
    Bonjour,


    Voila j'ai un gros problème j'ai une page.php

    en haut il y a deux champ pour taper une période
    en dessous 5 liste

    le principe est de pouvoir trier par rapport a ce qui est entré en période et sélectionné dans les listes

    donc je garde bien les données des champs et des listes même après qu'il soit posté

    par contre la ou je bloque c'est pour la requete alors voici une des listes

    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
    echo "<br><center>";
     
    	$sql = "SELECT DESIGNATION FROM TYPE";
    	$req = odbc_exec($conn,$sql) or die('Erreur SQL : <br />'.$sql);
     
    	echo " <select name= 'TYPE' size=\"1\" onchange=\"active(this)\">"; 
     
    			while($data = odbc_fetch_array($req)) 
    			{
                          if ($data["DESIGNATION"] == $_POST['TYPE']) 
    					  {
                                   $selected = ' selected="selected" ';
                           }
                           else {
                                  $selected = '';
                           }
    				echo "\n <option value=\"".$data["DESIGNATION"]."\" " . $selected . ">".$data["DESIGNATION"]."</option>";		
    			}
    				//echo "<option value='' selected='selected'> </option>";
    				//echo "<option value='' selected='selected'>Type</option>";
    	echo '</select>';
    et voici ce que j'ai fait actuellement mais ca ne fonctionne pas et j'aimerais que quelqu'un m'aide svp

    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
    if (isset($_POST['d']) && isset($_POST['f']))
    	{
    		$sql = "SELECT * 
    				FROM ARRET_CHAINE 
    				WHERE DEBUT BETWEEN #$date_deb# 
    				AND #$date_fin#" ;
     
    		$rs = odbc_exec($conn,$sql) or die('<br><br><br><br><center>-------- Saisir une période -------- et cliquer sur OK --------<center/>');
     
    	$_SESSION['d'] = $_POST['d'];
    	$_SESSION['f'] = $_POST['f'];
     
    		if (isset ($_POST['TYPE']))
    		{
    		$TYPE = $_POST['TYPE'];
    		}
    		else
    		{
    		$TYPE = '';
    		}
    		if(isset($_POST['CONSTAT']))
    		{
    		$CONSTAT = $_POST['CONSTAT'];
    		}
    		else
    		{
    		$CONSTAT = '';
    		}
    		if (isset($_POST['DEMANDE']))
    		{
    		$DEMANDE = $_POST['DEMANDE'];
    		}
    		else
    		{
    		$DEMANDE = '';
    		}
    		if (isset($_POST['CAUSE']))
    		{
    		$CAUSE = $_POST['CAUSE'];
    		}
    		else
    		{
    		$CAUSE = '';
    		}
    		if (isset($_POST['IMPUTATION']))
    		{
    		$IMPUTATION = $_POST['IMPUTATION'];
    		}
    		else
    		{
    		$IMPUTATION = '';
    		}
     
    			$sql1 = "	SELECT * 
    						FROM ARRET_CHAINE 
    						WHERE DEBUT BETWEEN #$date_deb# 
    						AND #$date_fin# 
    						AND TYPE = '$TYPE'
    						AND CONSTAT = '$CONSTAT'
    						AND DEMANDE = '$DEMANDE'
    						AND CAUSE = '$CAUSE'
    						AND IMPUTATION = '$IMPUTATION'";
     
    		$rs = odbc_exec($conn,$sql1) or die('<br><br><br><br><center>-------- Saisir une période -------- et cliquer sur OK --------<center/>');
     
    	}
    aidez moi svp

    merci d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Bonjour,

    Pourrais-tu donner plus d'informations que 'ca ne fonctionne pas' ?
    Qu'obtiens-tu actuellement par rapport à ce que tu souhaiterais ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    Bah en fait je suppose que ce sont mes conditions qui sont fausse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (isset ($_POST['TYPE']))
    		{
    		$TYPE = $_POST['TYPE'];
    		}
    		else
    		{
    		$TYPE = '';
    		}
    vu que les listes prennent forcément une valeur du coup ca m'affiche rien

    je sais pas si je si plus compréhensible dite moi

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Que veux-tu dire par "prennent forcemment une valeur" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 25
    Points : 32
    Points
    32
    Par défaut
    je ne comprend pas trop ton souci mais si tu fait cela les valeurs seront forcément remplies au moment de la requete.


    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
     
     
    if((isset($_POST['TYPE'])) and (isset($_POST['CONSTAT'])) and (isset($_POST['DEMANDE'])) and (isset($_POST['CAUSE'])) and (isset($_POST['IMPUTATION'])) 
    {
     
    $TYPE=$_POST['TYPe'];
    $CONSTAT=$_POST['CONSTAT'];
    $DEMANDE=$_POST['DEMANDE'];
    $CAUSE=$_POST['CAUSE'];
    $IMPUTATION=$_POST['IMPUTATION'];
     
     
    $sql1 = "SELECT * 
            FROM ARRET_CHAINE 
    	WHERE DEBUT BETWEEN #$date_deb# 
    	AND #$date_fin# 
    	AND TYPE = '$TYPE'
    	AND CONSTAT = '$CONSTAT'
    	AND DEMANDE = '$DEMANDE'
    	AND CAUSE = '$CAUSE'
    	AND IMPUTATION = '$IMPUTATION'";
     
    		$rs = odbc_exec($conn,$sql1) or die('<br><br><br><br><center>-------- Saisir une période -------- et cliquer sur OK --------<center/>');
     
     
     
    }

  6. #6
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    369
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 369
    Points : 61
    Points
    61
    Par défaut
    on est d'accord et c'est parce que je ne voit pas comment faire que je demande de l'aide

    Pouvez vous m'aidez svp?

  7. #7
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je pense que tu devrais expliquer ton probleme plus clairement parce qu'apparement je ne suis pas le seul a ne pas suivre.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Que veux-tu dire par "prennent forcemment une valeur" ?
    Je crois que ce qu'il veut dire, c'est que isset() est toujours vérifié, en effet, il suffit d'envoyer le formulaire pour que la condition renvoie True.

    Il faut tester comme ceci :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    if( isset($_POST['MyVar']) && !empty($_POST['MyVar']) ) {
        // --
        // Ma variable MyVar est définie ET (PAS vide ou nulle)
    } else {
        // --
        // Ma variable MyVar n'est pas définie OU vide OU nulle
    }

Discussions similaires

  1. Requete php avec un programme en langage c
    Par lilsgabbg dans le forum C
    Réponses: 5
    Dernier message: 28/05/2009, 20h48
  2. [MySQL] Défilement images d'une requete php avec javascript
    Par spespam dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 18/02/2009, 19h26
  3. requete sql avec une condition dans une zone de liste
    Par khilim1 dans le forum VBA Access
    Réponses: 2
    Dernier message: 30/12/2008, 12h00
  4. requete SQL avec where dynamique dans une servlet
    Par Mickael Scofild dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 12/08/2007, 12h05
  5. [SGBD] Problème requete PHP avec MySQL
    Par TomZ dans le forum Requêtes
    Réponses: 5
    Dernier message: 12/06/2006, 01h40

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