Page 1 sur 1

probleme avec un array

Posté : 03 janv. 2007, 20:24
par thehawk
voila mon code :
$config_nb_1 = mysql_query('SELECT * FROM commerce);
$ressource = mysql_fetch_array($config_nb_1);
$rt = implode($ressource["metal"],",");
print_r($rt);
pour le moment ca ne m'affiche ... malheureusement rien

la ta table commerce contient 5 champs : id,annee, metal, cristal, deuterium
avec deux entrée dedans : 1,2007,20,20,1 et 2,2007,52,22,22

et j'aimerai arrivé a ce que le code me ressorte

Code : Tout sélectionner

20,52
j'ai essayé :
$config_nb_1 = mysql_query('SELECT metal FROM commerce);
$ressource = mysql_fetch_array($config_nb_1);
$rt = implode($ressource",");
print_r($rt);
et ca me retourne :

Code : Tout sélectionner

20,20
merci beaucoup

thehawk

Posté : 03 janv. 2007, 20:58
par HD
salut
je te propose :
$config_nb_1 = "SELECT metal FROM commerce"
$req = mysql_query($config_nb_1) or die(mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo $data['metal'];
}

Posté : 03 janv. 2007, 21:31
par thehawk
Merci HD mais le code que tu ma donné m'affiche :

Code : Tout sélectionner

2052
or le reste de mon code ne marche que si c'est de la forme

Code : Tout sélectionner

20,52
je pense qu'il faut le faire avec une boucle for or je ne la maitrise pas du tout peut tu m aider ?

Posté : 03 janv. 2007, 21:32
par HD
dans ce cas :
$config_nb_1 = "SELECT metal FROM commerce"
$req = mysql_query($config_nb_1) or die(mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo $data['metal']."," ;
} 

Posté : 03 janv. 2007, 21:33
par HD
sinon pour créé une variable qui contient ce que tu recherche :
$config_nb_1 = "SELECT metal FROM commerce"
$req = mysql_query($config_nb_1) or die(mysql_error());
$isok=0 ;
while($data = mysql_fetch_assoc($req))
{
    if ($isok == 0)
        {
        $variable =  $data['metal'] ;
        }
    else
        {
        $variable = $variable.",".$data['metal'] ;
        }
    $isok++;
}
echo $variable ; 

Posté : 03 janv. 2007, 21:50
par Ajoloca
Bonsoir,
Je crois qu'il-y-a un souci dans cette ligne
if ($isok=0) 
ça devrait être
if ($isok == 0) 

Posté : 03 janv. 2007, 21:53
par HD
oups en effet :D
message édité

Re: probleme avec un array

Posté : 03 janv. 2007, 21:55
par Truc
en partant de ça :
j'ai essayé :
$config_nb_1 = mysql_query('SELECT metal FROM commerce);
$ressource = mysql_fetch_array($config_nb_1);
$rt = implode($ressource",");
print_r($rt);
$rt =array();
$config_nb_1 = mysql_query("SELECT metal FROM commerce");
while($ressource = mysql_fetch_assoc($config_nb_1))
{
   //il faut boucler sur le résultat pour remplir un tableau
   $rt[] = $ressource["metal"];
}
//transformation du tableau en chaine
$rt = implode(",",$rt);
print_r($rt);

Posté : 03 janv. 2007, 22:11
par thehawk
Merci a tous il arrive a l'affichage que tout est bon mais lorsque j'execute la suite ca ne marche pas

voici mon code entier j'utilise une bibliotheque Jpgraph comme sur le livre PHP5 avancé 3eme édition
<?php

mysql_connect("localhost","root","");
mysql_select_db("commercia");
$rt =array();
$config_nb_1 = mysql_query("SELECT metal FROM commerce_total");
while($ressource = mysql_fetch_assoc($config_nb_1))
{
   //il faut boucler sur le résultat pour remplir un tableau
   $rt[] = $ressource["metal"];
}
//transformation du tableau en chaine
$rt = implode(",",$rt);
//print_r($rt); 

$datay1 = array ($rt);
$datay2 = array (1,1,2);
$datay3 = array (1,2,2);


// Setup the graph

include ("jpgraph/src/jpgraph.php");
include ("jpgraph/src/jpgraph_line.php");
$graph = new Graph(500,500);
$graph->SetMarginColor('white');
$graph->SetScale("textlin");
$graph->SetFrame(false);
$graph->SetMargin(30,50,30,30);

$graph->tabtitle->Set('Cette année' );
$graph->tabtitle->SetFont(FF_ARIAL,FS_BOLD,20);


$graph->yaxis->HideZeroLabel();
$graph->ygrid->SetFill(true,'#[email protected]','#[email protected]');
$graph->xgrid->Show();

$graph->xaxis->SetTickLabels($gDateLocale->GetShortMonth());

// Create the first line
$p1 = new LinePlot($rt);
$p1->SetColor("navy");
$p1->SetLegend('Metal');
$graph->Add($p1);

// Create the second line
$p2 = new LinePlot($datay2);
$p2->SetColor("red");
$p2->SetLegend('Cristal');
$graph->Add($p2);

// Create the third line
$p3 = new LinePlot($datay3);
$p3->SetColor("orange");
$p3->SetLegend('Deuterium');
$graph->Add($p3);

$graph->legend->SetShadow('[email protected]',5);
$graph->legend->SetPos(0.1,0.1,'right','top');
// Output line

?>


merci si vous pouvez m'aider merci

Posté : 03 janv. 2007, 22:15
par HD
mais lorsque j'execute la suite ca ne marche pas
ok mais y a t il un message d erreur ou c'est quoi le problème rencontré ??

Posté : 03 janv. 2007, 22:27
par thehawk
il n'y a aucun message d erreur , juste une page blanche

Posté : 04 janv. 2007, 03:55
par Truc
petit souci de paramètre ($rt), non ? :wink:
$p1 = new LinePlot($rt);

Posté : 04 janv. 2007, 12:51
par thehawk
je ne voit pas ce que tu veux dire désolé

Posté : 04 janv. 2007, 17:42
par Truc
C'est pas la bonne variable qui est passée à la fonction....