Afficher des données d'une BD dans un histogramme !

cs_bezzaz Messages postés 16 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 26 janvier 2009 - 23 mars 2008 à 00:06
cs_bezzaz Messages postés 16 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 26 janvier 2009 - 23 mars 2008 à 13:07
Bonjour,

au niveau du code de cette page
http://www.phpcs.com/codes/HISTOGRAMME-HORIZONTAL_27803.aspx

si je veux affecté à $values des données à partir de ma BD comment faire !

par ce que quand je change dans le code ya d'autre erreurs qui se génére !

2 réponses

bcmfr Messages postés 137 Date d'inscription jeudi 18 juillet 2002 Statut Membre Dernière intervention 20 novembre 2016
23 mars 2008 à 03:32
slt
quoi comme erreurs? quel est ton code
@+
0
cs_bezzaz Messages postés 16 Date d'inscription mercredi 17 mai 2006 Statut Membre Dernière intervention 26 janvier 2009
23 mars 2008 à 13:07
Bonjour

le code est comme suite:

<?php

$connect=mysql_connect("localhost", "root", "") or die ("Echec de la connexion au serveur !");
$select=mysql_select_db("OCP");

// $values : Les valeurs a soumettre
// $order : L'ordre de classement: 0:Pas de classement; 1:Ordre croisant; 2:Ordre décroissant
// $showValue : Montrer la valeur (True/false))
// $maxLength : Longeur Maximale des Bars de statistiques
// $barHeight : Epesseur / Hauteur des bars de statistiques
// $spacing : espace entre les valeurs
// $gap : Espace entre le Nom et les bars de statistiques
// $tableWidth : Taille de la table (
)
// $colors : Couleurs ( a envoyer dans un array ex: $colors=array('blue','purple','gold');)
// $repeat : Répétition des couleurs si il n'y en a pas assez (true / false) ATTENTION : Si cette fonction est activé (true) vous risquez de perdre de la vitesse
// $Couleur_de_remplissage : L'image qui sera répètée jusqu'a la fin si il n'y a pas assez de couleur. En fonction des images données (ne pas mettre les extentions et les extentions doivent etre png)


$sql="select production, libelle from produit;";
$query=mysql_query($sql) or die("Erreur requête :
".$sql);

// alimentation dynamique du tableau $values
for ($j=0;$assoc=mysql_fetch_assoc($query);$j++) {
$values[$j][0]=$assoc['production'];
$values[$j][1]=$assoc['libelle'];
}
//$values=array('Windows XP' => 58, 'Windows 98' => 20, 'Windows 3.11' => 30, 'Windows 95' => 18, 'Linux' => 51,'Knoppix' => 12,'Inconnu' => 11);
$colors=array('blue','purple','gold', 'gray');
histogram($values,2,true,200,12,10,6,'100%',$colors,false,'green');

//This is the function that echoes (not returns!) the table in HTML
function histogram($values,$order, $showValue, $maxLength, $barHeight, $spacing, $gap, $tableWidth, $colors, $repeat, $Couleur_de_remplissage){

$a=$values;
rsort($a);
$maxValue=$a[0];// On obtiens la valeur maximum qui correspond à $maxLength

// On classe les résultats
if($order !== 0){// 0 pas de classement
if($order === 1){
asort($values);// 1 Classement par ordre croissant
}else{
arsort($values);// 2 ou + Classement par ordre décroissant

}
}

// On séparre les Clés et leurs valeurs
$captions=array_keys($values);
$values=array_values($values);

// Transform values into ratio compared to $maxValue

$ratio=$values;
for($i=0;$i<count($ratio);$i++){
$ratio[$i]/=$maxValue;
}

// Nombre de Valeur
$nb_value=count($values);

if(empty($colors)){// Couleur par défaut si rien n'est indiqué
$colors=array('gold','gray','purple','blue','green');
}


$nb_color = count($colors);// Nombre de couleur
if($repeat){
// On répète les couleurs
while(count($colors)<$nb_value) {
$colors = array_merge($colors,$colors);
}
}else{
// On ne répète pas les couleurs
if($nb_color<$nb_value){
// Si il n'y a pas assez de couleur on ajout la couleur $Couleur_de_remplissage jusqu'a ce qu'il y en ai assez
$colors = array_pad($colors, $nb_value, $Couleur_de_remplissage);
}
}


echo '',\"\r\n\";

for($i=0;$i<$nb_value;$i++){
echo '----
',\"\r\n\"
,'',$captions[$i],', ',\"\r\n\"
,', ',\"\r\n\"
,'',"\r\n"
,' ';
if($showValue){
echo '('.$values[$i].')',"\r\n";
}
echo ', ',\"\r\n\";
}

echo '
',"\r\n";

// On supprime toutes les variables utilisées
unset($a,$values,$maxValue,$order,$captions,$ratio,$i,$nb_value,$colors,$repeat,$Couleur_de_remplissage,$tableWidth,$barHeight,$spacing,$gap,$barHeight,$maxLength,$showValue);
}
?>

l'erreur :
Fatal error: Unsupported operand types in g:\program files\easyphp1-8\www\les camemberts\modifié.php on line 74
0
Rejoignez-nous