Problème variable php dans requête sql

Résolu
Bonjour,

Tout d'abord j'ai déjà cherché sur plusieurs forum, mais je ne trouve pas la solution. Je travaille avec easyphp1.7. J'ai un souci qui me bloque depuis plusieurs jours, je n'arrive pas à passer une variable à une requête sql en php. Voilà un extrait de ce que j'ai écrit

<form method="post">
<input type="text" name="choix"/>
<input type="submit" value="envoyer"/>
</form>

<?php
require ("../../conf/mysql.inc.php");
$mysql_link = mysql_connect($cfgHote, $cfgUser, $cfgPassword);

mysql_select_db($cfgBase);
$requete = "SELECT num FROM intervention";
$resul =@mysql_db_query($cfgBase, $requete,$mysql_link);

$nb_enrg=mysql_num_rows($resul);

$rchoix=$_POST['choix'];

if (isset($_POST['choix'] ))
{
$sql = "SELECT service_demandeur, count(service_demandeur) as nbservice_demandeur FROM intervention
where year(date_demande)= $rchoix group by service_demandeur order by nbservice_demandeur desc";

$result =mysql_db_query($cfgBase, $sql,$mysql_link);
mysql_close($mysql_link);

$datax=array();

while ($voir=mysql_fetch_array($result))
......(fabrication d'un graphique)

Impossible d'exécuter cette requête, j'ai un message disant qu'il y a des erreurs, alors que si je note directement 2008 dans la requête, elles fonctionne parfaitement. Je ne comprends pas pourquoi.

Merci de votre aide.

6 réponses

  1. Bonjour,

    Dans ta requete, met la variable
    $rchoix
    comme ceci:

    ".$rchoix."
    0
    1. merci pour la réponse, voilà comment j'ai réécrit la requete

      $sql = "SELECT service_demandeur, count(service_demandeur) as nbservice_demandeur FROM intervention
      where year(date_demande)= '.$rchoix.' group by service_demandeur order by nbservice_demandeur desc";

      mais cela ne fonctionne toujours pas j'ai un message disant que mon tableau est vide.
      0
      1. ecrit ces 2 ligne2 juste avant ta requete:

        echo $rchoix;
        print_r($rchoix);
        

        0
        1. Voilà ce que ça donne

          20082008JpGraph Error Empty input data array specified for plot. Must have at least one data point.
          0
          1. $sql = "SELECT service_demandeur, count(service_demandeur) as nbservice_demandeur FROM intervention
            where year(date_demande)= '.$rchoix.' group by service_demandeur order by nbservice_demandeur desc";


            si $rchoix vaut 2008, ta requete sera

            $sql = "SELECT service_demandeur, count(service_demandeur) as nbservice_demandeur FROM intervention
            where year(date_demande)= '2008' group by service_demandeur order by nbservice_demandeur desc";


            mais si ta requete doit etre

            $sql = "SELECT service_demandeur, count(service_demandeur) as nbservice_demandeur FROM intervention
            where year(date_demande)= 2008 group by service_demandeur order by nbservice_demandeur desc";


            alors met

            $sql = "SELECT service_demandeur, count(service_demandeur) as nbservice_demandeur FROM intervention
            where year(date_demande)= .$rchoix. group by service_demandeur order by nbservice_demandeur desc";
            0
            1. Merci pour toutes ces réponses, mais rien ne veut fonctionner, je laisse tomber, je vais faire autrement.
              0