mysql用php(datetime数据类型)生成报表

kognpnkq  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(398)

我想生成一个报告,每年/每月的基础上,用户可以选择一个下拉菜单上的年度。然后来自mysql的数据将以表格格式显示。
下面是我得到的错误:

以下是数据库中的变量:

这是我的密码:

<form action="" method="POST">
         Select Year:<select name="sortyear" id="sortyear">
                         <option value="2018">2018</option>
                         <option value="2019">2019</option>
                         <option value="2020">2020</option>
                         <option value="2021">2021</option>
                     </select>

        <?php
        $db = mysqli_connect('localhost','root','','customercaremodule');
        date_default_timezone_set('Asia/Kuala_Lumpur');

        if ($db->connect_error) {
            die("Connection failed: " . $db->connect_error);
        }
        $sql = "SELECT first_name, last_name, email,  message, FC_DateTime FROM fbcomplain WHERE (YEAR(timestamp) = 2018)";
        $result = mysqli_query($db,$sql);
        while($row11 = mysqli_fetch_array($result))
           {
               $first_name= $row11['first_name'].'<br>';
               $last_name = $row11['last_name'].'<br>';
               $email = $row11['email'].'<br>';
               $message = $row11['message'].'<br>';
           }

        $sortyear = $_REQUEST['sortyear'];
?>

更新


现在我想显示基于所选年份的数据行,我该怎么做?

62lalag4

62lalag41#

查询失败,因此 $result 等于 false 而不是有效的 mysql result 这就是为什么 mysqli_fetch_array($result) 产生了错误。
在中查看您的查询 WHERE (YEAR(timestamp) = 2018) 你的table结构没有 timestamp 这就是它失败的原因。
我建议使用 WHERE (YEAR(FC_DateTime) = 2018) 相反。

相关问题