2017-03-13 34 views
1

我正在研究在網站上使用的應用程序。該應用程序可讓您將作業提供添加到數據庫,以將其發佈到網站和社交媒體上。我已經做了很多,但現在我正在嘗試做一個排序菜單。在我的數據庫中,我有1行稱爲狀態。狀態是一個數據打開和關閉的枚舉,所以我想有一個排序選項。我想排序打開,關閉和所有。如何使下拉菜單對數據庫中的數據進行排序

我已經有一個表,我希望看到如果這是可能的,但存在的表上的變化,但我不知道如何做到這一點。有人可以幫助我嗎?我使用HTML,PHP和數據庫PHPMyAdmin。這裏是我的代碼:

<!DOCTYPE HTML> 
<html> 
<head> 
    <style> 
     table { 
     border-collapse: collapse; 
     border: 1px solid black; 
    } 

    td { 
     border: 1px solid black; 
     width: 120px; 
    } 

    </style> 
</head> 
<body> 

    <h2>Jobs Overview (Admin)</h2> 

    <form action="/action_page.php">  
    <select id="sorting"> 
    <option value="All" >All</option> 
    <option value="Open">Open</option> 
    <option value="Closed">Closed</option> 
    </select> 

<br><br> 

<?php 

include 'Connection.php'; 

echo "<table>";         
     echo "<tr>"; 
      echo "<th>" . "jid" . "</th>"; 
      echo "<th>" . "role" . "</th>"; 
      echo "<th>" . "type" . "</th>"; 
      echo "<th>" . "availability" . "</th>"; 
      echo "<th>" . "location" . "</th>"; 
      echo "<th>" . "status" . "</th>"; 
      echo "<th>" . "Verwijder?" . "</th>"; 
     echo "</tr>"; 

$select = "SELECT * FROM test"; 

$result = mysql_query($select); 
if($result) { 
} else { 
    echo "Error! <br>"; 
    echo mysql_error(); 
} 

    while($data = mysql_fetch_assoc ($result)) { 
     echo "<tr>"; 
      echo "<td>" . $data["jid"] . "</td>"; 
      echo "<td> <a href='jobsupdate.php?jid=" . $data["jid"] . "'>" . $data["role"] . " </a></td>"; 
      echo "<td>" . $data["type"] . "</td>"; 
      echo "<td>" . $data["availability"] . "</td>"; 
      echo "<td>" . $data["location"] . "</td>"; 
      echo "<td>" . $data["status"] . "</td>"; 
      echo "<td> <a href = 'jobsdelete.php?jid=" . $data["jid"] . "' onClick=\"return confirm('Weet je zeker dat je deze record wil verwijderen?');\"><center>Verwijder</center></a></td>"; 
      } 
     echo "</tr>"; 
    echo "</table>"; 
?> 

    <br><br> 

<a href="jobsadmin.php">Vacatures Toevoegen</a> 

</body> 
</html> 

在此先感謝

+0

'sort'通過開放的方式,如果打開排序然後打開的作業將顯示在頂部? – Ayush

+0

不,我想如果我選擇打開它只顯示打開工作:)而不是關閉一次 – RonTuip

+0

檢查這一點。它會幫助你。 http://stackoverflow.com/questions/42627922/how-to-search-value-from-input-by-mysqli-in-database/42628959#42628959 –

回答

1

您可以HTML類添加到openclosed工作。

while($data = mysql_fetch_assoc ($result)) { 
    echo "<tr>"; 
     echo "<td>" . $data["jid"] . "</td>"; 
     echo "<td> <a href='jobsupdate.php?jid=" . $data["jid"] . "'>" . $data["role"] . " </a></td>"; 
     echo "<td>" . $data["type"] . "</td>"; 
     echo "<td>" . $data["availability"] . "</td>"; 
     echo "<td>" . $data["location"] . "</td>"; 

     if ($data["status"] == 0) { 
      echo "<td class='open'>" . $data["status"] . "</td>"; 
     } else { 
      echo "<td class='closed'>" . $data["status"] . "</td>"; 
     } 
     echo "<td> <a href = 'jobsdelete.php?jid=" . $data["jid"] . "' onClick=\"return confirm('Weet je zeker dat je deze record wil verwijderen?');\"><center>Verwijder</center></a></td>"; 
     } 
    echo "</tr>"; 
echo "</table>"; 

,在這之後,你必須寫一個jQuery腳本來隱藏工作.onchange

$('#sorting').on('change', function(){ 
    var status = $('#sorting:selected').val(); 
    if (status == "Open") { 
     $('.closed').hide(); 
    } else if (status == "Closed") { 
     $('.open').hide(); 
    } else if (status == "All"){ 
     $('.closed').show(); 
     $('.open').show(); 
    } 
});​ 

我希望這可以解決您的問題。

0

您可以在選定變化Ajax post請求得到記錄,並把這些記錄在你的餐桌成功。

更多有關如何使用Jquery/Ajaxhere

更多做關於Jquery上改變here

相關問題