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

PHP & Base de données Discussion :

$_POST ne me donne aucun resultat [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut $_POST ne me donne aucun resultat
    Bonjours,

    J'ai un problème avec mon post je n'arrive pas a voir mon erreur si quelqu'un arrive a m'éclaircir sur mon erreur ce serait gentille

    Voila je met une date de début et une date de fin avec ces deux dates je veut avoir les donnée qui ce trouve entre ces 2 dates j'ai fait comme sa.

    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
     
    <?php
    	include("includes/application_top.php");
     
    	$date_du = $_POST['Du'];
    	$date_au = $_POST['Au'];
     
    ?>
    <html>
    <head>
    </head>
    <body>
    <form action="stats_pays.php" method="post">
    Periode du :<br>
    <input type="text" name="Du" value="<?php echo $date_du; ?>"><br>
    Periode au :<br>
    <input type="text" name="Au" value="<?php echo $date_au; ?>">
    <input type="submit" value="Go">
    </form>
     
    <b>AVANT :</b><br />
    	<table border="1">
    		<tr style="text-align: center; background-color:#FFAD5B; font-weight:bold;">
    			<th> Pays </th>
                <th> Prestataire </th>
    			<th> Voyance Gratuites </th>
    			<th> Commandes </th>
                <th> C.A </th>
                <th> Mmc </th>
            </tr>
     
    <?php
     
     
          $condition = "";
     
          if (isset($date_du) && !empty($date_du)) {
                $condition1 .= "   customers_date_inscription>='" . $date_du . "' ";
             }
     
          if (isset($date_au) && !empty($date_au)) {
                 $condition .= " AND customers_date_inscription<='" . $date_au . "' ";
            }
     
     
     	// REQUETE 1 : 
    							$query = "SELECT substr(customers_from, 1, 3) AS Origin, 
    									   COUNT(*) AS effectif_vg
    								FROM customers 
    								WHERE
                                   
                                   " . $condition1 . "   and  " . $condition . " 
    								GROUP BY Origin ";
    								$result_vg = mysql_query($query) ;
     
     
     
    while ($row = mysql_fetch_array($result_vg)) 
    {  
     
     
    	// REQUETE 2 : 		
    			$query_produit = 
    					" SELECT substr(customers_from, 1, 3) AS Origin,
    					   COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command,
    					   AVG(co.commandes_montant) AS Mmc 
    						FROM customers cu
    						INNER JOIN commandes co  
    						ON cu.customers_id=co.customers_id 
    						WHERE co.commandes_status='1' 
    						and  substr(customers_from , 1 , 3) ='".$row['Origin']."' and
    						  " . $condition1 . "   and  " . $condition . " 
    						GROUP BY Origin ";
     
    							$result = mysql_query($query_produit) ;	
     
     
    	while ($row1 = mysql_fetch_array($result)) 
    	{	
     
    ?>
    	 <tr>
    			<td style="background-color:#CCCCCC;">  </td>
                <td style="text-align:center;"> <?php echo $row['Origin'] ?> </td>
    			 <td style="text-align:center;"> <?php echo $row['effectif_vg'] ?> </td>
    				 <td style="text-align:center;"> <?php echo $row1['command'] ?> </td>
    			 <td style="text-align:center;"> <?php echo round($row1['command']*$row1['Mmc']) ?> euro </td>
                 <td style="text-align:center;"> <?php echo round($row1['Mmc'] ,2) ?> </td>
     
     
    <?php
    } 	
    	}
     
    ?>
    </tr>
    </table>
    </body>
    </html>
    si jamais ma page ou il y a le code s'appel stats_pays.php donc je la rappel

    voilé j'espère que vous pourrez m'aider merci

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 347
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 347
    Billets dans le blog
    17
    Par défaut
    Remplace ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $date_du = $_POST['Du'];
    $date_au = $_POST['Au'];
    Par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $date_du = $_POST['Du'];
    $date_au = $_POST['Au'];
    echo "Du [$date_du] au [$date_au]" ;
    Si après soumission qquechose s'affiche entre les crochets alors cela indique que le pb ne vient pas de POST en lui-même mais de la saisie-utilisateur ou du script. Il faudra dans ce cas procéder à un débugage en règle

  3. #3
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Merci seb

    Mon problème commence à la boucle car c'est là ou j'arrive plus a lire les données

    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
     
       $condition = "";
    	  $condition1 = "";
     
          if (isset($date_du) && !empty($date_du)) {
                $condition .= " '" . $date_du . "' ";
             }
     
          if (isset($date_au) && !empty($date_au)) {
                 $condition1 .= "'" . $date_au . "' ";
            }
     
     
     	// REQUETE 1 : 
    							$query = "SELECT substr(customers_from, 1, 3) AS Origin, 
    									   COUNT(*) AS effectif_vg
    								FROM customers 
    								WHERE
     
    								GROUP BY Origin ";
     
     
     
    								$result_vg = mysql_query($query) ;
     
     
     
    while ($row = mysql_fetch_array($result_vg)) 
    {   echo $condition1;
    echo $condition;
     
     
    	// REQUETE 2 : 		
    			$query_produit = 
    					" SELECT substr(customers_from, 1, 3) AS Origin,
    					   COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command,
    					   AVG(co.commandes_montant) AS Mmc 
    						FROM customers cu
    						INNER JOIN commandes co  
    						ON cu.customers_id=co.customers_id 
    						WHERE co.commandes_status='1' 
    						and  substr(customers_from , 1 , 3) ='".$row['Origin']."'
    						AND customers_date_inscription BETWEEN '" . $condition . "' AND '" . $condition1 . "'
    						" . $condition . "
    						GROUP BY Origin ";
     
    							$result = mysql_query($query_produit) ;	
     
     
    	while ($row1 = mysql_fetch_array($result)) 
    	{	
     
    ?>

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 347
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 347
    Billets dans le blog
    17
    Par défaut
    Que donne un débugage ?!

  5. #5
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    commen sa un débugage?

    j'ai l'impression que sa lit pas ce qui est dans ma boucle.
    ni d'ailleur ce qui est dessous: $result_vg = mysql_query($query) ;
    car quand je fais un echo $result_vg; j'ai rien qui sort.

    pour le débogage je vois pas commen procédé??

  6. #6
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 347
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 347
    Billets dans le blog
    17
    Par défaut
    Un débugage consisterait ici à t'assurer que les variables contiennent bien ce qu'elles sont censées contenir et si la requête SQL échoue à savoir pourquoi elle échoue.

    Fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $result = mysql_query($query_produit) ;	
    if ( $result == FALSE ) { // Si la requête *échoue*
        echo mysql_error( ), '<br>' ; // Pourquoi elle a échoué
        echo $query_produit ;
    }

  7. #7
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Merci mais j'ai mis ton code dessous
    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
     
    $query_produit = 
    					" SELECT substr(customers_from, 1, 3) AS Origin,
    					   COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command,
    					   AVG(co.commandes_montant) AS Mmc 
    						FROM customers cu
    						INNER JOIN commandes co  
    						ON cu.customers_id=co.customers_id 
    						WHERE co.commandes_status='1' 
    						and  substr(customers_from , 1 , 3) ='".$row['Origin']."'
    						AND customers_date_inscription BETWEEN '" . $condition . "' AND '" . $condition1 . "'
    						GROUP BY Origin ";
     
    							$result = mysql_query($query_produit) ;	
     
    if ( $result == FALSE ) { // Si la requête *échoue*
        echo mysql_error( ), '<br>' ; // Pourquoi elle a échoué
        echo $query_produit ;
    }
    et sa na rien donnée mais quand je l'ai mis là

    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
     
    <?php
    } 	
    	}
    	$result = mysql_query($query_produit) ;	
    if ( $result == FALSE ) { // Si la requête *échoue*
        echo mysql_error( ), '<br>' ; // Pourquoi elle a échoué
        echo $query_produit ;
    }
     
    ?>
    </tr>
    </table>
    </body>
    </html>
    j'ai eu ce message :Query was empty

    c'est bizarre car quand je met les dates en durs sa marche??

  8. #8
    jnore
    Invité(e)
    Par défaut
    Je me trompe peut-être mais je ne vois nulle part ta chaine de connection à ta BDD !
    Est-ce qu'elle est présente dans le :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?
    include("includes/application_top.php");
    ?>
    ?

  9. #9
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Merci jnore mais c'étais sa mais le problème demeurais

    Donc j'ai fait quelque modification dans mon code mais j'ai un problème j'ai l'impression que dans ma boucle mon if ce répète plusieurs fois car quand je fait un echo de echo $condition; juste après ma seconde boucle l'affichage de mon echo donne sa:
    AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15'
    mais j'ai aucun résultat par contre quand j'ouvre ma page aff_ok.php sans mettre de dates j'a les résultats depuis le début de la création jusqu'a aujourd'hui.

    je te met mon code comme sa tu pourra peu être mieu voir merci de ton aide en tous cas.

    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
     
     
     
    <?php include("application_top.php");
    $date_du = $_POST['Du'];
    $date_au = $_POST['Au'];
     
     
     
    ?>
    <html>
    <head>
    </head>
    <body>
    <form action="aff_ok.php" method="post">
    Periode du :<br>
    <input type="text" name="Du" value="<?php echo $date_du; ?>"><br>
    Priode au :<br>
    <input type="text" name="Au" value="<?php echo $date_au; ?>">
    <input type="submit" value="Go">
    </form>
    	<table border="1">
    		<tr style="text-align: center; background-color:#FFAD5B; font-weight:bold;">
    			<th> Pays </th>
                <th> Prestataire </th>
    			<th> V G  </th>
    			<th> Commandes </th>
                <th> C.A </th>
                <th> Mmc </th>
    		</tr>
     
    <?php
    	$condition = "";
     
     
          if (isset($date_du) && $date_du !='') {
                $condition .= " AND customers_date_inscription>='" . $date_du . "' ";
             }
     
          if (isset($date_au) && $date_au !='') {
                 $condition .= " AND customers_date_inscription<='" . $date_au . "' ";
            }
     
     
    	// REQUETE 1 : 
    	$query = "SELECT substr(customers_from, 1, 3) AS Origin, 
           COUNT(*) AS effectif_vg
    FROM customers 
    
    GROUP BY Origin ";
    	$result_vg = mysql_query($query) ;
     
     
     
    while ($row = mysql_fetch_array($result_vg)) 
    {  
     
     
    	// REQUETE 2 : 		
    			$query_produit = 
    					" SELECT substr(customers_from, 1, 3) AS Origin,
    					   COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command,
    					   AVG(co.commandes_montant) AS Mmc 
    						FROM customers cu
    						INNER JOIN commandes co  
    						ON cu.customers_id=co.customers_id 
    						WHERE co.commandes_status='1' 
    						and  substr(customers_from , 1 , 3) ='".$row['Origin']."'
    						 '" . $condition . "' 
    						GROUP BY Origin ";
     
    							$result = mysql_query($query_produit) ;	
     
    echo $condition;
     
    	while ($row1 = mysql_fetch_array($result)) 
    	{	
     
    ?>
    	 <tr>
    			<td style="background-color:#CCCCCC;">  </td>
                <td style="text-align:center;"> <?php echo $row['Origin'] ?> </td>
    			 <td style="text-align:center;"> <?php echo $row['effectif_vg'] ?> </td>
    				 <td style="text-align:center;"> <?php echo $row1['command'] ?> </td>
    			 <td style="text-align:center;"> <?php echo round($row1['command']*$row1['Mmc']) ?> euro </td>
                 <td style="text-align:center;"> <?php echo round($row1['Mmc'] ,2) ?> </td>
     
     
    <?php
    } 	
    	}
     
    ?>
    </tr>
    </table>
    </body>
    </html>
    par contre je vien de mettre le bout de code que tu m'avais donné pour les erreur et j'ai eu sa:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2009-04-01' AND customers_date_inscription<='2009-04-15' ' GROUP BY Orig' at line 9
    SELECT substr(customers_from, 1, 3) AS Origin, COUNT(DISTINCT cu.customers_id) AS effectif, count(co.commandes_status) AS command, AVG(co.commandes_montant) AS Mmc FROM customers cu INNER JOIN commandes co ON cu.customers_id=co.customers_id WHERE co.commandes_status='1' and substr(customers_from , 1 , 3) ='xxx' ' AND customers_date_inscription>='2009-04-01' AND customers_date_inscription<='2009-04-15' ' GROUP BY Origin

  10. #10
    Membre éclairé
    Inscrit en
    Février 2008
    Messages
    458
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 458
    Par défaut
    Merci a tous ceu qui m'on aidé j'ai enfin trouvé mon erreur qui étais toute bêtes

    dans mon if $condition .= " AND customers_date_inscription>='" . $date_du . "'

    j'avais les '' et dans mon appel j'avais aussi les '' donc je les ai enlevé et sa marche
    '2009-04-15' ' GROUP BY Origin
    '2009-04-15' GROUP BY Origin
    merci a tous ceu qui ce sont porté sur ce poste

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

Discussions similaires

  1. Jointure externe simple ne retourne aucun resultat
    Par youyoupapayou dans le forum Langage SQL
    Réponses: 4
    Dernier message: 18/09/2008, 11h13
  2. while et aucun resultat
    Par crapaud dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 21/03/2008, 19h34
  3. Requête UPDATE ne donne aucun résultat
    Par Mike619 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 11/03/2008, 10h18
  4. Natural Join aucun resultat
    Par Joeleclems dans le forum Outils
    Réponses: 4
    Dernier message: 23/01/2007, 16h18
  5. [comm] Scan qui ne donne aucun port
    Par phpmad dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 15/02/2006, 16h20

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