[RESOLU] Jquery flot pie et datas sql

Eléphant du PHP | 258 Messages

16 avr. 2013, 16:55

Bonjour

Depuis ce matin, j'essaie de faire afficher le camembert (pie) en utilisant les datas sql.
Peut-etre que j'ai oublié un truc
merci beaucoup de votre aide
<?php

    include 'includes/functions.php';
    
    $dbconnect = mysql_connect($dbhost,$dblogin,$dbpass);
    mysql_query("SET NAMES UTF8");
    $select = mysql_select_db($dbbase, $dbconnect);

    $sql = "SELECT COUNT(rne) AS rne, dept FROM anuetab GROUP BY dept";
    
    while($row = mysql_fetch_assoc($sql)){
         $data[] = array(
            'label'=>$row['dept'],
            'data'=>$row['rne']
            );
//        echo '<pre>';
//        print_r($data);
//        echo '</pre>';
    }
    echo json_encode($data);

    
?>
[javascript] $(function () {
$.ajax({
type:'POST',
dataType: "JSON",
url:'source_pie.php',
success: function(data) {
$.plot($("#pie2"), [data], {
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 2 / 3,
formatter: function(label, series)
{
return "<div style='font-size:11px; text-align:center; padding:2px; color:white;'>"+label+"<br/>"
+Math.round(series.percent)+"%</div>";
},

background:
{
opacity: 0.8
}
}
}
},
legend: {
show: false
},
grid:
{
hoverable: true
}
});
}
});
});
[/javascript]
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Mammouth du PHP | 1511 Messages

16 avr. 2013, 17:24

Bonjour,
As-tu vérifié ton retour de données ?
As-tu testé l'affichage de ton camenbert via un jeu de données statique ?
Quelle librairie utilises-tu pour afficher ton camembert ?

Eléphant du PHP | 258 Messages

16 avr. 2013, 17:34

J'utilise le flot de jQuery.
Oui j'ai testé avec les datas à distance
Array
(
[0] => Array
(
[label] => 77
[data] => 372
)

[1] => Array
(
[label] => 93
[data] => 393
)

[2] => Array
(
[label] => 94
[data] => 350
)

)
Oui j'ai testé avec les datas en local
[javascript]jQuery(document).ready(function ($){
var data = [
{ label: "USA", data: 50, color: '#614E43' },
{ label: "Europe", data: 150, color: '#F5912D' }
];

var options = {
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 2 / 3,
formatter: function(label, series)
{
return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">' + label + '<br/>' + Math.round(series.percent) + '% (' + series.data[0][1] + ')</div>';
},

background:
{
opacity: 0.8
}
}
}
},
legend: {
show: false
},
grid:
{
hoverable: true
}
};


// $.ajax({
// type:"POST",
// dataType: "JSON",
// url:'source_pie.php',
// success: function(data) {
// $.plot($("#pie2"), data, options);
// }
// });

$(function () {
$.plot($("#pie2"), data, options);
});

}); [/javascript]
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Mammouth du PHP | 1511 Messages

16 avr. 2013, 17:58

Je me demande si ce n'est pas ton [javascript][data][/javascript] qui buggue. As tu essayé avec [javascript]data[/javascript] à la place ? A la ligne [javascript]$.plot($("#pie2"), [data], {[/javascript]

Eléphant du PHP | 258 Messages

17 avr. 2013, 10:00

bonjour

ni l'un ni l'autre...
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 258 Messages

17 avr. 2013, 17:43

J'ai modifié et le résultat n'est pas ce que je veux ...
je voudrais un camembert comme le site
http://people.iola.dk/olau/flot/examples/pie.html
donc j'ai deux problèmes
- les datas ne s'affichent pas
- le type de graph
    include 'includes/functions.php';
    $dbconnect = mysql_connect($dbhost,$dblogin,$dbpass);
    mysql_query("SET NAMES UTF8");
    $select = mysql_select_db($dbbase, $dbconnect);;

    $sql = "SELECT COUNT(rne) AS rne, dept FROM anuetab GROUP BY dept";
    $result = mysql_query($sql);        
    while($row = mysql_fetch_assoc($result)) {
       $pie[] = array(
               'label'=>$row['dept'],
               'data'=>$row['rne']
               );
    }
    echo '<pre>';
    print_r($pie);
    echo '</pre>';
[javascript]
jQuery(document).ready(function ($){
var options = {
series: {
pie: {
show: true,
radius: 1,
label: {
show: true,
radius: 2 / 3,
tilt:0.5,
formatter: function(label, series)
{
return '<div style="font-size:8pt;text-align:center;padding:2px;color:white;">' + label + '<br/>' + Math.round(series.percent) + '% (' + series.data[0][1] + ')</div>';
},

background:
{
opacity: 0.8
}
}
}
},
legend: {
show: true
}
};
var dataset1 = <?php echo json_encode($pie);?>;
var data = [
{
"label": "Random Values",
"data": dataset1
}
];
var plotarea = $("#pie2");
$.plot( plotarea , data);
});
[/javascript]
 <div id="pie2" style="height:300px"></div>
Image
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver

Eléphant du PHP | 258 Messages

22 avr. 2013, 11:21

Bonjour

J'espère que vous avez un bon week end .
Bien, j'aurais besoin de vous pour résoudre mon problème.
Encore merci
Cordialement
---------------------------------------------------------
Cyphos utilise
- Firefox et Google Chrome dernière version
- Windows Seven ou Windows XP SP3,
- Wampserver