Problème variable php dans requête sql

Résolu
girafechat2487 Messages postés 4 Statut Membre -  
girafechat2487 Messages postés 4 Statut Membre -
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. varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
     
    Bonjour,

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

    ".$rchoix."
    0
  2. girafechat2487 Messages postés 4 Statut Membre
     
    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
  3. varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
     
    ecrit ces 2 ligne2 juste avant ta requete:

    echo $rchoix;
    print_r($rchoix);
    

    0
  4. girafechat2487 Messages postés 4 Statut Membre
     
    Voilà ce que ça donne

    20082008JpGraph Error Empty input data array specified for plot. Must have at least one data point.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. varfendell Messages postés 3259 Date d'inscription   Statut Membre Dernière intervention   707
     
    $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
  7. girafechat2487 Messages postés 4 Statut Membre
     
    Merci pour toutes ces réponses, mais rien ne veut fonctionner, je laisse tomber, je vais faire autrement.
    0