Problème variable php dans requête sql [Résolu/Fermé]

Signaler
Messages postés
4
Date d'inscription
vendredi 13 août 2010
Statut
Membre
Dernière intervention
17 août 2010
-
Messages postés
4
Date d'inscription
vendredi 13 août 2010
Statut
Membre
Dernière intervention
17 août 2010
-
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

Messages postés
3255
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
500
Bonjour,

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

".$rchoix."
Messages postés
4
Date d'inscription
vendredi 13 août 2010
Statut
Membre
Dernière intervention
17 août 2010

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.
Messages postés
3255
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
500
ecrit ces 2 ligne2 juste avant ta requete:

echo $rchoix;
print_r($rchoix);

Messages postés
4
Date d'inscription
vendredi 13 août 2010
Statut
Membre
Dernière intervention
17 août 2010

Voilà ce que ça donne

20082008JpGraph Error Empty input data array specified for plot. Must have at least one data point.
Messages postés
3255
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
8 février 2020
500
$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";
Messages postés
4
Date d'inscription
vendredi 13 août 2010
Statut
Membre
Dernière intervention
17 août 2010

Merci pour toutes ces réponses, mais rien ne veut fonctionner, je laisse tomber, je vais faire autrement.