我想用to图表做一些图表。现在我有以下情况:
我的SQL查询是:
$sql = "SELECT
av.art_title,
SUM(CASE c.cont_status WHEN 'cold' THEN av.art_views ELSE 0 END) cold,
SUM(CASE c.cont_status WHEN 'lead' THEN av.art_views ELSE 0 END) lead,
SUM(CASE c.cont_status WHEN 'prospect' THEN av.art_views ELSE 0 END) prospect,
SUM(CASE c.cont_status WHEN 'lost' THEN av.art_views ELSE 0 END) lost
FROM article_views av
JOIN contacts c ON av.user_id = c.id
GROUP BY av.art_title";
$res = mysql_query($sql) or die (mysql_error());我在查询上有一个while循环,如下所示:
while($row = mysql_fetch_assoc($res)) { }下面我将发布我的javascript var:
var dataSource = [{ country: "<?php echo $row['art_title']; ?>", lead: <?php echo $row['lead']; ?>, lost: <?php echo $row['lost']; ?>}, ];因此,如果我在数据源var中使用while,它根本不起作用。有人能帮我吗?
发布于 2014-10-28 20:46:33
$data=array();
while ($row = mysql_fetch_assoc($res)){
$data[]=array('country'=> $row['art_title'], 'lead'=> $row['lead'], 'lost'=> $row['lost']);
}
$json=json_encode($data);
//javascript
var dataSource=<?php echo $json; ?>;发布于 2014-10-28 21:21:16
顺便说一句,原来的MySQL扩展现在已经不再推荐http://php.net/manual/en/migration55.deprecated.php了,并且在连接到数据库时会生成E_DEPRECATED错误。相反,使用MySQLi (或PDO_MySQL)扩展。
E_DEPRECATED错误可能不会显示在生产服务器上,但无论如何都会生成,而且需要时间。
所以while循环看起来是这样的:
while ( $row = $result -> fetch_array ( MYSQLI_ASSOC ) ) { ... }
如果您编写了一个新的PHP应用程序,-使用MySQLi。
https://stackoverflow.com/questions/26617792
复制相似问题