我的表格在我的页面上有一个排序选项。我正在使用SELECT
和WHERE
从数据库中选择表的数据现在我知道您只需在脚本中AND
之后添加WHERE
即可从中删除更少的行桌子。
我需要脚本最初从表中提取所有信息,然后如果用户使用该按钮选择某个状态,脚本将再次运行,并仅显示该特定状态的任务。
以下是将要排序的按钮:
<div class="btn-group">
<button class="btn">All</button>
<button class="btn dropdown-toggle" data-toggle="dropdown">
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">In Progress</a></li>
<li><a href="#">Done</a></li>
<li class="divider"></li>
<li><a href="#">New task</a></li>
<li><a href="#">Overdue Task</a></li>
</ul>
</div>
这是实际的表脚本:
<?php
$con=mysqli_connect();
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM affiliate_tasks WHERE username = '$_SESSION[username]' ");
echo "<table class='table table-message'>
<tr class='heading'>
<td class='cell-title'>Tasks</td>
<td class='cell-status hidden-phone hidden-tablet'>Status</td>
<td class='cell-time align-right'>Due Date</td>
</tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr class='task'>";
echo "<td class='cell-ttle'>" . $row['task_name'] . "</td>";
echo "<td class='cell-status hidden-phone hidden-tablet'>" . $row['status'] . "</td>";
echo "<td class='cell-time align-right'>" . $row['due_date'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysqli_close($con);
?>
我在想我们需要在这条线上添加一些内容,但我不确定。
$result = mysqli_query($con,"SELECT * FROM affiliate_tasks WHERE username = '$_SESSION[username]' ");
这是javascript的工作吗?或者它是我们可以添加到PHP脚本的东西?
如果不是按钮,我们做了类似的事情:
<select id="sort-selection" class="btn">
<option value="all">All</option>
<option value="pending">Pending</option>
<option value="in_progress">In Progress</option>
<option value="done">Done</option>
</select>
答案 0 :(得分:1)
它只是伪代码,因为您的按钮不是表单的一部分,代码中没有$_POST
,并且AND
之后没有信息(在您的代码中)在查询中添加的内容(column_name =值)
$query = "SELECT * FROM affiliate_tasks WHERE username = '$_SESSION[username]'";
if( isset($_POST['sort-selection'] && $_POST['sort-selection'] != 'all' ) ) {
$query .= " AND status = '". $_POST['sort-selection']."';" ;
}
$result = mysqli_query($con, $query);
答案 1 :(得分:0)
我会使用Javascript来做到这一点,但你必须在用PHP构建行时标记你的行,可能是通过为每行添加一个类来指示它正在显示的任务的状态。然后在Javascript中,您只需根据用户输入显示/隐藏不同的类。