Problème variable php dans requête sql

Résolu/Fermé
girafechat2487 Messages postés 4 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 17 août 2010 - 13 août 2010 à 12:16
girafechat2487 Messages postés 4 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 17 août 2010 - 17 août 2010 à 13:10
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.
A voir également:

6 réponses

varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
13 août 2010 à 12:20
Bonjour,

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

".$rchoix."
0
girafechat2487 Messages postés 4 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 17 août 2010
13 août 2010 à 12:32
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
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
13 août 2010 à 12:35
ecrit ces 2 ligne2 juste avant ta requete:

echo $rchoix;
print_r($rchoix);

0
girafechat2487 Messages postés 4 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 17 août 2010
13 août 2010 à 14:02
Voilà ce que ça donne

20082008JpGraph Error Empty input data array specified for plot. Must have at least one data point.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 699
13 août 2010 à 14:17
$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
girafechat2487 Messages postés 4 Date d'inscription vendredi 13 août 2010 Statut Membre Dernière intervention 17 août 2010
17 août 2010 à 13:10
Merci pour toutes ces réponses, mais rien ne veut fonctionner, je laisse tomber, je vais faire autrement.
0