Variable dans SQL et Requête

Fermé
Tokoshie - 11 juil. 2010 à 01:20
 Utilisateur anonyme - 11 juil. 2010 à 13:37
Bonjour,

Suite à une construction de table pour chaque membre sur mon site, je dois pouvoir faire les requête selon un assemblage.

En gros je colle le préfixe et le pseudo tu membre.

Ensuite, je souhaite faire une boucle qui créera 10 variable, avec les noms suivants($valeur0, $valeur1, ...), avec une limite qui évolue.

Voici mon Code.

Merci d'avance

<?php
include('include/config.php');

require_once "module/module_graph/LinePlot.class.php";

$graph = new Graph(700, 450);
$graph->setAntiAliasing(TRUE);
   
$valeur_boucle = 0;
$membre = "hantse";
$table = "stats_";
$table = $table.''.$membre;
$limite = 0;
   
while($valeur_boucle <= 10);		

			{

			
			
			$reponse = $bdd->query('SELECT * FROM $table WHERE id_sondage = 1 ORDER BY temps_maj ASC LIMIT $limite,1');
			while ($donnees = $reponse->fetch())
				{
					
					$valeur.''.$limite = $donnees['valeur'];
					
				}	
				
			$valeur_boucle++;
                        $limite++;
			
			}
				
$values = array($valeur0, $valeur2, $valeur3, $valeur4, $valeur5, $valeur6, $valeur7, $valeur8, $valeur9, $valeur10);
   $plot = new LinePlot($values);
   $plot->setBackgroundGradient(
      new LinearGradient(
         new Color(210, 210, 210),
         new Color(250, 250, 250),
         0
      )
   );
$plot->yAxis->setLabelPrecision(0);
$plot->setSpace(5, 5, NULL, NULL);
   
$graph->add($plot);
$graph->draw();
				
   
?>





1 réponse

Slt,

Ton objet $bdd est surement défini dans "config.php" j'imagine ou peut etre dans "LinePlot.class.php" ?

Par contre je comprend pas bien :

$reponse = $bdd->query("ta requête");  
while ($donnees = $reponse->fetch())


Là pareil pour moi ca peut pas fonctionner ça ! Je sais bien qu'en PHP le type d'une variable est très souple, mais à moins que "$bdd->query" (d'ailleurs comme je dis je vois déjà pas ou est défini ton objet $bdd) te retourne un objet, ton objet $reponse n'est pas défini non plus !!

Sinon si tes objets $bdd et $reponse sont effectivement déclarer qq part et que ta requête ne fonctionne pas, je te conseil d'utiliser les guillemets double

à la place de :
$reponse = $bdd->query('SELECT * FROM $table WHERE id_sondage = 1 ORDER BY temps_maj ASC LIMIT $limite,1'); 



essayes ceci:
$reponse = $bdd->query("SELECT * FROM $table WHERE id_sondage = 1 ORDER BY temps_maj ASC LIMIT $limite,1");
0