8791 sujets

Développement web côté serveur, CMS

bonjour
voila je veut faire une requete sur un champ total pour pouvoir l'afficher en graph
j'ai un message de undefined offset a la ligne que je metterais en rouge

$req= mysql_query("SELECT total from test_excel  WHERE  produits = 'CA.sandwich' OR produits='CA.cartes telephone' ");
$tableau1=array();  
while($t=mysql_fetch_array($req) )
{ 
   //for($i=0; $i<17; $i++)
[#red]   $tableau1[$i]=$t[$i]; [/#red]
   $i++;
}


merci pour votre aide
Modifié par timo (06 Jul 2009 - 15:42)
La variable $i est définie dans la même ligne que ton for qui est en commentaire. Du coup $i n'est jamais défini.
Je ne sais pas exactement ce que tu veux faire mais là tu vas juste mettre ce que retourne mysql_fetch_array($req) dans un tableau mais rien d'autre. Donc si c'est juste pour retourner $tableau1 après autant retourner mysql_fetch_array($req).
Sinon

$i = 0;
$tableau1 =array();
while($row = mysql_fetch_array($req)) {
  $tableau1[$i]=$row[0]; // 0 = la première colonne retournée par ta requête, sinon 1, 2...
  $i++;
}


Ça devrait fonctionner si je me rappelle bien.
edit : http://uk3.php.net/manual/fr/function.mysql-fetch-array.php
Modifié par kurt11 (06 Jul 2009 - 12:16)
merci pour votre reponse, j'ai fait ce que vous m'aviez dit mais j'ai toujour une erreur
il ne ramene aucune valeur
on sachant que le champ total est ds la 10eme colone
j'ai une erreur type your graph must have at least 1 value
merci
Modérateur
Hello,

Par hasard, ce ne serait pas cela que tu cherches à faire (...) :
(Code fait de tête.)

$req= mysql_query("SELECT total FROM test_excel  WHERE  produits = 'CA.sandwich' OR produits='CA.cartes telephone' ");
$tableau1=array();  
while($t=mysql_fetch_row($req)){ 
	for($i=0; $i<count($t); $i++){
   		$tableau1[]=$t[$i];
	}
}


Sinon, as tu essayé ta query directement dans ta BDD ?

++
Modifié par Nolem (06 Jul 2009 - 13:43)
Nolem a écrit :

Sinon, as tu essayé ta query directement dans ta BDD ?


+1, et s'il y a toujours une erreur (concernant le code php) nous indiquer la ligne et l'erreur exacte, ça sera plus facile.

Normalement les deux portions de code devraient fonctionner.