【问题标题】:php result within a date range日期范围内的php结果
【发布时间】:2013-10-01 23:41:16
【问题描述】:

我是一个绝对的新手,仍在解决问题。如果代码看起来很业余,请原谅我。

我有这个form.html

用户输入日期范围。

      form action="report.php" method="post"
           FROM DATE <input type="DATE" class="textarea" name="dateStart"><br> </br>
            TO DATE <input type="DATE" class="textarea" name="dateEnd">
            <input type="submit" class="textarea">
             </form> 

这在 Report.php 中得到处理,现在 report.php 看起来像这样:

             php
              $_POST["dater"]=$date;
              $con=mysqli_connect("LOCALHOST","xxxxxxx","xxxxxx","xxxxx"); 
              // Check connection
              if (mysqli_connect_errno())
               {
             echo "Failed to connect to MySQL: " . mysqli_connect_error();
                }

           $result = mysqli_query($con,"SELECT * FROM `xxxxxxx` 
            dater);


          echo "<table border='1'>
          <tr>
        <th>DATE</th>
        <th>MBM</th>
        <th>bulkTank</th>
        <th>bagsAt40</th>

";

     while($row = mysqli_fetch_array($result))
           {
          echo "<tr>";
            echo "<td>" . $row['date'] . "</td>";
             echo "<td>" . $row['bulkTank'] . "</td>";
           echo "<td>" . $row['bagsAt40'] . "</td>";
           echo "</tr>";
                }
            echo "</table>";

我不知道下一步该做什么...... 它不起作用,我尝试了一些方法,但如何在特定日期范围内回显结果。谢谢!

新编辑---- 这就是新代码的样子……表格 开始日期
结束日期

     Report.php

       <?php
           $date=$_POST["dateStart"];
                 $con=mysqli_connect("LOCALHOST","XXXXXXX","++++++","XXXXXX"); 
                // Check connection
                if (mysqli_connect_errno())
                 {
                echo "Failed to connect to MySQL: " . mysqli_connect_error();
                      }

                           $result = mysqli_query($con,"SELECT * FROM `WeeklyStockTake` 
                           WHERE dateColumn=$date);


                             echo "<table border='1'>   <!--line 32 starts here--!>
                                       <tr>
                                        <th>DATE</th>
                                           <th>MBM</th>
                                          <th>bulkTank</th>
                                              <th>bagsAt40</th>

-----如果我现在处理它,我会收到此错误 - 解析错误:语法错误,第 32 行 /home/simples2/public_html/test/report.php 中的意外 T_STRING(我已经在上面评论了它从哪里开始) 如何声明结束日期?

感谢和问候!

【问题讨论】:

  • 关于日期列的表结构是什么样的?是只有一个日期列还是有两个,例如开始日期和结束日期?
  • “它不起作用”:如果您能提供更多信息,我们将能够更好地提供帮助。您可以在每个步骤中添加一些基本的错误测试,例如
    print_r($result)
    。是在 mysqli 调用阶段失败,不返回任何内容(或 null/false)还是 php 抛出错误?
  • 谢谢大家,我将开始提出错误。数据库只有一列,即日期。它应该有更多的列吗?谢谢和问候!
  • 它给了我“解析错误:语法错误,第 32 行 /home/simples2/public_html/test/report.php 中的意外 T_STRING”这是从 echo "
  • 您没有使用 sql 查询关闭行中的报价: $result = mysqli_query($con,"SELECT * FROM xxxxxxx dater); 您应该使用 dater"); 结束,同样适用报告.php
  • DATE MBM bulkTank bagsAt40 caketank25 loadoutTanks53 containers20 tallow

标签: php html mysql


【解决方案1】:

不知道是不是错字,但php应该是&lt;?php

$_POST["dater"]=$date

这应该是

$date=$_POST["dateStart"]

你还应该为 dateEnd 添加一个 POST

查询应该更像:

SELECT * FROM `xxxxxxx` WHERE dateColumn<=$date

【讨论】:

  • 添加有关您的桌子的更多详细信息。
  • 谢谢你,但它怎么知道在哪里停下来。我是否需要声明结束日期.....那么 WHERE 会更改为开始和结束日期吗?
  • 类似的东西,取决于日期列或列在您的表格中的位置,这就是我询问详细信息的原因。
  • 数据库中只有一列是日期。
  • 什么是列类型 - datetime、timestamp、int、varchar?
猜你喜欢
  • 2023-03-20
  • 2014-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-02
  • 2023-04-02
相关资源
最近更新 更多