2014-03-03 1 views
0

PHP에서 libchart을 사용하고 있지만 나는 내 데이터베이스에서 남성과 여성을 셀 수있는 방법에 문제가 있습니다. 나는 wampserver을 사용하고 있습니다 : 당신은 당신의 쿼리를 실행 귀찮게하지PHP는 남성과 여성 데이터베이스에서 계산

<?php 
    include "../libchart/libchart/classes/libchart.php"; 

    define('DB_HOST', 'localhost'); 
    define('DB_NAME', 'login'); 
    define('DB_USER','root'); 
    define('DB_PASSWORD',''); 

    $con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to          MySQL: " . mysql_error()); 
    $db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error()); 

    header("Content-type: image/png"); 

    $chart = new PieChart(500, 300); 
    $query1= "Select count(*) from users where gender='Male'"; 
    $query2= "Select count(*) from users where gender='Female'"; 
    $male=$query1; 
    $female=$query2; 
    $dataSet = new XYDataSet(); 
    $dataSet->addPoint(new Point("Male", $male)); 
    $dataSet->addPoint(new Point("Female", $female)); 
    $chart->setDataSet($dataSet); 

    $chart->setTitle("Number of Female and Male"); 
    $chart->render(); 


?> 
+2

당신의 데이터베이스를 쿼리하지 ... –

답변

0
<?php 
    include "../libchart/libchart/classes/libchart.php"; 

    define('DB_HOST', 'localhost'); 
    define('DB_NAME', 'login'); 
    define('DB_USER','root'); 
    define('DB_PASSWORD',''); 

    $con=mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to          MySQL: " . mysql_error()); 
    $db=mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " . mysql_error()); 

    header("Content-type: image/png"); 

    $chart = new PieChart(500, 300); 
    $query = "Select (Select count(*) from users where gender='Male') AS Male, (Select count(*) from users where gender='Female') as Female"; 
    $data = mysql_query($query); 
    $male=$data[0]['Male']; 
    $female=$data[0]['Male']; 
    $dataSet = new XYDataSet(); 
    $dataSet->addPoint(new Point("Male", $male)); 
    $dataSet->addPoint(new Point("Female", $female)); 
    $chart->setDataSet($dataSet); 

    $chart->setTitle("Number of Female and Male"); 
    $chart->render(); 


?> 
0

을 - 당신이하고있는 모든 그들에 SQL이 일부 문자열을 정의한다. 또한, 두 개의 분리 된 쿼리에 대한 필요가 없습니다 :

$sql = "SELECT gender, count(*) AS cnt FROM users WHERE gender IN ('Male', 'Female') GROUP BY gender"); 
$result = mysql_query($sql) or die(mysql_error()); 
while($row = mysql_fetch_assoc($result)) { 
    $dataSet->addPoint(new Point($row['gender'], $row['cnt'])); 
} 
관련 문제