2013-06-05 67 views
0

我有一個表格在我的頁面上有一個排序選項。我使用SELECTWHERE從數據庫中選擇表格的數據,現在我知道您可以簡單地在腳本中添加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> 

回答

1

這只是僞代碼,因爲你的按鈕不是形式的一部分,並且在你的代碼中沒有$_POST,也沒有信息(以您的代碼)如何在查詢後AND(列=值增加)

$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); 
+0

這會導致分析錯誤。這是說在你的代碼中的} 4行是意想不到的。 – user2371301

+0

它只是僞代碼,不是完整的工作代碼。 'selected_option'後面沒有';' – furas

+0

那麼我需要做什麼?那是我的問題。 – user2371301

0

我會那樣做使用Javascript,但你必須當你在PHP中形成它們,以紀念你的行可能通過添加類爲每一行指示t的狀態他任務顯示。然後在Javascript中,您可以根據用戶輸入顯示/隱藏不同的類。