construction d'un tableau dynamique à partir d'une requete

Eléphant du PHP | 50 Messages

13 sept. 2005, 16:06

Bonjour,
Je cherche à construire un tableau en vue de son utilisation par jpgraph..
<?php
require_once('connexion.php'); 

$i = 1;
$tab = array();
while ($i < 23)
{
	$rq = "SELECT id_categorie FROM categorie WHERE nb ='$i'"; 
	$exec = mysql_query($rq);
	while ($r = mysql_fetch_assoc($exec))
	{
	echo $r['id_categorie'].'<br>';
	$cat = $r['id_categorie'];

	$req2 = "SELECT COUNT(id_membre) as somme FROM membres WHERE type_membre='2' AND activation = '1' AND code_ape LIKE '$cat%'";
	$exec2 = mysql_query($req2) or die ('erreur req2 : '.mysq_error());
	$row = mysql_fetch_assoc($exec2);
	echo $row['somme'].'<br><br>';
	$nb = $row['somme'];
	$tab .= $nb;
	}
$i++;
}
?>
Voila... mais jpgraph me dit que mon tableau est pas valide..
en l'affichant j'obtiens array654364654846876515465646
si quelqu'un a une idée...
merci d'avance

Mammouth du PHP | 19672 Messages

13 sept. 2005, 16:13

Tout juste, tu essayes d'ajouter des valeurs en faisat une concaténation avec ".=" : mais $tab est un tableau indexé, tu dois donc ajouter les valeurs d'une autre manière: corrigé de ton code avec quelques petites optimisation supplémentaires:
<?php
require_once('connexion.php');

$i = 1;
$tab = array();
while ($i < 23)
{
    $rq = "SELECT id_categorie FROM categorie WHERE nb =". $i ."";
    $exec = mysql_query($rq);
    while ($r = mysql_fetch_assoc($exec))
    {
        echo $r['id_categorie'].'<br>';
        $cat = $r['id_categorie'];

        $req2 = "SELECT COUNT(id_membre) as somme FROM membres WHERE type_membre=2 AND activation = 1 AND code_ape LIKE '". $cat ."%'";
        $exec2 = mysql_query($req2) or die ('erreur req2 : '.mysq_error());
        $row = mysql_fetch_assoc($exec2);
        echo $row['somme'].'<br><br>';
        $nb = $row['somme'];
        $tab[] = $nb;
    }
    $i++;
}
?>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 50 Messages

13 sept. 2005, 16:23

Merci ça marche nickel :)