【发布时间】:2016-07-27 20:25:52
【问题描述】:
我通过 PHP 从 SQL 表中获取数据以填充 HTML 表。我就是这样做的:
<table class="posts">
<?php
$respost = mysqli_query($link,"SELECT * FROM table WHERE post_author=$uid LIMIT 16 ");
$row_count=0;
$col_count=0;
while($rowpost = mysqli_fetch_array($respost)) {
if($row_count%4==0){
echo "<tr>";
$col_count=1;
}?>
<td>
<?php
$imageid = $rowpost['thumbnail_link'];
<img src="<?php echo $imageid; ?>" alt="" class="img-responsive" height="220px" height="220px">
<h3><?php echo $rowpost['post_title']; ?></h3>
<h4><?php echo (substr($rowpost['post_excerpt'],0,30)); ?></h4>
<h5><?php echo $rowpost['post_date']; ?></a></h5>
</td>
<?php
if($col_count%4==0){
echo "</tr>";
}
$row_count++;
$col_count++;
}
?>
</table>
现在我想做的是,为此设置一个过滤器。我想添加两个日期选择器,当用户单击过滤器按钮时,表格应该只填充两个给定日期内发布的帖子。
我想为日期选择器使用表单:
<form name="filter" method="POST" action="team_as.php">
SHOW POSTS FROM:
<input type="date" name="sdate">
<input type="date" name="edate">
<input type="submit" name="submit" value="Filter">
</form>
PHP 处理该数据:
$edate = $_POST['edate'];
$sdate = $_POST['sdate'];
$filter = "AND $date < post_date > $edate";
我想知道是否有办法将这个$filter 包含在$respost mysql 查询中,如下所示:
$respost = mysqli_query($link,"SELECT * FROM table WHERE post_author=$uid $filter LIMIT 16 ");
另请注意,$uid 是使用 $_GET[] 方法从上一页获取的。所以这个页面的链接看起来像www.mysite.com/page?uid=66。那么想知道使用 POST 和表单进行过滤是否可行?
【问题讨论】: