我不知道为什么这样不行。也许我缺乏php的经验,但我试图遵循尽可能多的一个工作,但它不工作。
我希望执行的是,在用户按下按钮并将变量传递到引导模式页面之后,从页面列表中获取id。我设法弄明白如何显示id表。
但在数据过滤方面,它失败了。
<?php
require_once 'dbconfig.php';
if (isset($_REQUEST['id'],$_POST["From"], $_POST["to"])) {
$result = '';
$id = intval($_REQUEST['id'],$_POST["From"], $_POST["to"]);
$query = "SELECT * FROM history WHERE ID=:id and date BETWEEN '".$_POST["From"]."' AND '".$_POST["to"]."'";
//
$stmt = $DBcon->prepare( $query );
$stmt->execute(array(':id'=>$id));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
extract($row);
$result .='
<table class="table table-bordered">
<tr>
<th width="10%">Order Number</th>
<th width="35%">Customer Number</th>
<th width="40%">Purchased Item</th>
<th width="10%">Purchased Date</th>
</tr>';
while($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
$result .='
<tr>
<td>'.$row["ID"].'</td>
<td>'.$row["location"].'</td>
<td>'.$row["currentStatus"].'</td>
<td>'.$row["date"].'</td>
</tr>';
}
$result .='</table>';
echo $result;
}?>
但它是这样运作的:
<?php
require_once 'dbconfig.php';
if (isset($_REQUEST['id'])) {
$id = intval($_REQUEST['id']);
$query = "SELECT * FROM history WHERE ID=:id";
$stmt = $DBcon->prepare( $query );
$stmt->execute(array(':id'=>$id));
$row=$stmt->fetch(PDO::FETCH_ASSOC);
extract($row);
}
?>
<div id="purchase_order">
<table class="table table-bordered">
<tr>
<th width="10%">ID</th>
<th width="20%">Location</th>
<th width="20%">Status</th>
<th width="10%">Date</th>
</tr>
<?php
// while($row= mysqli_fetch_array($sql))
// {
while($row = $stmt->fetch(PDO::FETCH_ASSOC)){
?>
<tr>
<td><?php echo $row["ID"]; ?></td>
<td><?php echo $row["location"]; ?></td>
<td><?php echo $row["currentStatus"]; ?></td>
<td><?php echo $row["date"]; ?></td>
</tr>
<?php
}
?>
1条答案
按热度按时间bakd9h0s1#
我相信问题出在你使用
date
在sql中。有用的链接:
pdo和mysql之间
“date”在mysql中是关键字吗?
转换为布尔值