Array et requete SQL

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Array et requete SQL

Re: Array et requete SQL

par xlP1TUF0lx » 10 août 2012, 14:45

je connais pas var_dump.... je vais voir !
ouai c'est un peu ça que j'ai essayer de faire !

Re: Array et requete SQL

par Mazarini » 10 août 2012, 14:43

avec var_dump() ?
En regardant ton code, j'ai l'impression que tu génères une chaine de caratères qui ressemble à la sortie, pas une variable organisée de la même facon.

Re: Array et requete SQL

par xlP1TUF0lx » 10 août 2012, 14:32

j'ai affiché la varible que j'alimente via la BDD et celle que j'alimente en "brut" et c'est exactement les mêmes...

Re: Array et requete SQL

par Mazarini » 10 août 2012, 14:28

Est ce que tu affiches la variable qui contient les points pour voir ce que tu alimentes ?

Re: Array et requete SQL

par xlP1TUF0lx » 10 août 2012, 11:48

Bon, j'ai réussi a obtenir la même valeur :D
mais l'image ne s'affiche pas... du moins elle n'apparait pas et en haut a gauche de l'image j'ai une petite croix rouge...
Voilà le code de la boucle :
while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats
{
$effectif = $donnees['effectif'];
${"val".$count}=$effectif;
if ($count==0)
{
	$tab = $tab.$effectif." ";
}
else
{
	$tab = $tab."[".$count."] => ".$effectif." ";
}
$count++;
}

Re: Array et requete SQL

par xlP1TUF0lx » 10 août 2012, 11:22

Merci bien !
je vais voir ce que je peux faire et je post quand j'arrive a qqch

Re: Array et requete SQL

par Ryle » 10 août 2012, 11:18

Dans ton exemple, $data3 est un tableau de tableaux (plusieurs séries de valeurs). Il faut donc reconstituer de la même manière une série de valeur à ajouter au tableau.

Chaque itération de ta boucle va te retourner une valeur de ta base de données. En gros, au premier passage dans ton while tu vas récupérer 5, au second passage 5, au troisième 6, ...

Il faut donc que tu constitues un tableau lambda qui va récupérer chacune de ces valeurs une par une. Et c'est ce nouveau tableau (ta série de valeurs) que tu ajouteras à la suite de ton tableau $data3 :)

Re: Array et requete SQL

par xlP1TUF0lx » 10 août 2012, 11:10

La première chose est de vérifier le contenu de $data3. Tu renseignes certainement mal ce tableau à partir de ta base de données.

D'après ce que je vois dans le code, $data3 est un tableau 30x1 en venant de la base de donnée et 5x6 initialisé manuellement.

Dans la boucle de lecture, il faudrait que tu calcules $i et $j pour alimenter $data3[$i][$j] = $donnees['effectif'] en recherchant pour chaque ligne de la table la position dans $legend (région ?) et $lblAbs (mois ?) ; je suppose que la région et le mois sont présents dans la base de données. $lblAbs est à alimenter avant la boucle de lecture.
Merci pour ta réponse !
Je comprends pas tout là.... :oops:
en fait $data3[] va dessiner les courbes, autrement dit, là $data3[] est "alimenté" 6 fois donc 6 courbes.
mon soucis c'est qu'à la place de $data3[]=array(5,5,6,0,1,1) je voudrais que juste ces chiffres soient remplacés par les valeurs que je réceptionne de la BDD...
pour les légendes, en abscisse y'aura les dates et en ordonnées l'effectif.
les régions seront représentées par chaque courbe

Re: Array et requete SQL

par Mazarini » 10 août 2012, 10:50

La première chose est de vérifier le contenu de $data3. Tu renseignes certainement mal ce tableau à partir de ta base de données.

D'après ce que je vois dans le code, $data3 est un tableau 30x1 en venant de la base de donnée et 5x6 initialisé manuellement.

Dans la boucle de lecture, il faudrait que tu calcules $i et $j pour alimenter $data3[$i][$j] = $donnees['effectif'] en recherchant pour chaque ligne de la table la position dans $legend (région ?) et $lblAbs (mois ?) ; je suppose que la région et le mois sont présents dans la base de données. $lblAbs est à alimenter avant la boucle de lecture.

Array et requete SQL

par xlP1TUF0lx » 10 août 2012, 10:17

Bonjour,
J'ai trouvé un code sur internet assez simple pour créer des courbes (statistiques).
Les valeurs sont stockées dans des array().
Si rentre les valeurs directement dans les tableaux, y'a pas de soucis, par contre dès que j'essaie de les mettre depuis une BDD... ça marche pas...
Une idée ?!
<?php
// Tableau des légendes
$legend = array('Gaves','Nord 47-24','Sables','Sud 47','Sud Adour');
// Mise en forme des légendes
foreach($legend as $key => $value){
	if(strlen($value)>15){
		$lbl = substr($value,0,14).'.';
	}
	else{
		$lbl = str_pad($value, 15 , ' ');
	}
	$legend[$key] = $lbl;
}

		$count = 0;

		//$data3 = array ('001','002','003');
		$req = "SELECT * FROM `papillons` WHERE `zone` LIKE 'Gaves' AND `reseau` LIKE 'Arvalis' AND `ravageur` LIKE 'Pyrale' AND `piege` LIKE 'Pheromone'";
		$retour = mysql_query($req);
		/*while ($donnees = mysql_fetch_array($retour)) // On fait une boucle pour lister les résultats
			{
				//$data3[]=$donnees['effectif'];
				//echo ($data3[$count].'<br>');
				$effectif = $donnees['effectif'];
				$data3[$count] = array($effectif);
				$count++;
			}
			echo ("count = ".$count);*/
			
// Tabeau des valeurs
$data3[] = array(5,5,6,0,1,1);
$data3[] = array(12,16,18,25,28,20);
$data3[] = array(5,11,10,8,12,0);
$data3[] = array(30,25,28,29,34,25);
$data3[] = array(16,20,23,14,20,33);



// Tabeau des couleurs
$color3 = array('#92DDF3','#5C69AA','#A35E9E','#DF6C6C','#33CC00');

// Tableau des libelles de l'axe des abcisses
$lblAbs = array('01/2008','02/2008','03/2008','04/2008','05/2008','06/2008');

$title = " Piégeage de Pyrale en Aquitaine 2012 - Pièges phéromone";
$width = 750;
$height = 500;

insertStatImage(2,$width,$height,$title,$legend,$data3,$color3,$lblAbs);
?>