2013-06-05 3 views
0

내 페이지에 정렬 옵션이있는 테이블이 있습니다. SELECTWHERE을 사용하는 데이터베이스에서 테이블에 대한 데이터를 선택하려고합니다. WHERE 이후에 AND을 간단히 추가하여 테이블에서 더 적은 줄을 끌어낼 수 있다는 것을 알고 있습니다.동적으로 채워지는 테이블 필터링

원래 테이블의 모든 정보를 가져 오려면 스크립트가 필요하다. 그런 다음 사용자가 단추를 사용하여 특정 상태를 선택하면 스크립트가 다시 실행되고 해당 특정 상태의 작업 만 표시됩니다. 여기

<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]' "); 

자바 스크립트 작업인가요? 아니면 우리가 PHP 스크립트에 추가 할 수있는 무언가입니까?

어떤 경우 대신 우리가 이런 일을했던 버튼 :에 (당신의 버튼 형태의 일부가 아니며 코드에는 $_POST이없는 아무 정보가 없기 때문에

<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

그것은 단지 의사입니다 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); 
+0

이렇게하면 구문 분석 오류가 발생합니다. } 여기서 4 행은 예상치 못한 코드입니다. – user2371301

+0

그것은 전체 코드가 아닌 의사 코드 일뿐입니다. 'selected_option' 다음에';'가 없었습니다 – furas

+0

그래서 무엇을해야합니까? 그게 내 질문 이었어. – user2371301

0

는 아마 클래스를 추가하여 당신이 PHP에서 그들을 형성하는 동안 자바 스크립트를 사용하지만, 당신이 가진 것은 당신의 행을 표시하는 것으로 할 것 각 행에 대해 t의 상태를 나타냅니다. 그는 그것을 표시하고있다. 그리고 Javascript에서는 사용자 입력에 따라 다른 클래스를 표시하거나 숨 깁니다.