2017-03-13 32 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

相关问题