在此解决:
我只是想换条线

while ($row = mysql_fetch_array($result)) {


 while ($row = mysql_fetch_row($result)) {

我使用phpexcel从mysql数据库中提取数据来创建xls文件。我写了两个专栏:标题和视图。(title是db表中的实际列,views是每个标题在表中出现的次数的计数)。
数据写入xls文件,问题是每列写入两次:
|———A—————————————————————————————————————————————————————————————————————————————--|
5---标题-----视图---|
6---标题1----标题1----标题3----标题3------|
7---第二篇-----第二篇-----第六篇-----第六篇---------|
8---标题3-----标题3-----标题4-----标题4-------|
如何修复此问题,使其每列显示一次?
我的代码:
$sql = "
    SELECT
      titles.title,
      COUNT(DISTINCT history.id) AS `count`
    FROM
      user_history titles
    LEFT OUTER JOIN
      user_history history
    ON
      titles.title = history.title
    ";


    $sql .= "
    GROUP BY
      titles.title
    ORDER BY
      titles.title
    ";

    $result = mysql_query($sql);
$headings = array('Title', 'Views');

if ($result = mysql_query($sql) or die(mysql_error())) {


    $rowNumber = 5;
    $col = 'A';
    foreach($headings as $heading) {
       $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$heading);
       $col++;
    }

    // Loop through the result set
    $rowNumber = 6;
    while ($row = mysql_fetch_array($result)) {
       $col = 'A';
       foreach($row as $cell) {
          $objPHPExcel->getActiveSheet()->setCellValue($col.$rowNumber,$cell);
          $col++;
       }
       $rowNumber++;
    }

最佳答案

因为你的加入是无损的。
你两次得到多余的信息
为您的查询执行以下操作:

SELECT
  titles.title,
  COUNT(DISTINCT titles.id) AS `count`
FROM user_history titles
GROUP BY titles.title
ORDER BY titles.title;

10-08 06:53