2017-03-13 1 views
1

Ich arbeite an einer Anwendung auf einer Website zu verwenden. Mit der Anwendung können Sie Stellenangebote zu einer Datenbank hinzufügen, um sie auf der Website und in sozialen Medien zu veröffentlichen. Ich habe schon viel gemacht, aber jetzt versuche ich ein Menü zu machen. In meiner Datenbank habe ich 1 Zeile, die Status heißt. Der Status ist eine Enum mit den Daten Open und Closed, also hätte ich gerne eine Sortieroption. Ich möchte nach Open, Closed und allen sortieren.So erstellen Sie ein Dropdown-Menü zum Sortieren von Daten aus einer Datenbank

Ich habe bereits eine Tabelle und ich möchte die Änderungen an der vorhandenen Tabelle sehen, wenn das möglich ist, aber ich habe keine Ahnung, wie das geht. Kann mir jemand dabei helfen? Ich benutze HTML, PHP und als Datenbank PHPMyAdmin. Hier ist mein Code:

<!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> 

Vielen Dank im Voraus

+0

'sort' von open bedeutet, wenn nach offenen sortieren, dann offene Jobs werden oben angezeigt? – Ayush

+0

Nein möchte ich wenn ich offen öffne es zeigt nur die offenen Jobs :) und nicht die geschlossene – RonTuip

+0

dies überprüfen. es wird dir helfen. http://stackoverflow.com/questions/42627922/how-to-search-value-from-input-by-mysqlii-in-database/42628959#42628959 –

Antwort

1

Sie können HTML-Klasse open und closed Jobs hinzufügen.

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>"; 

Nach dieser haben Sie eine jquery Skript zu schreiben, die Jobs .onchange zu verstecken.

$('#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(); 
    } 
});​ 

Ich hoffe, dass dies Ihr Problem löst.

0

Sie können eine Ajax Post-Anforderung bei der Auswahl der Änderung vornehmen um die Datensätze zu erhalten und die Datensätze auf Erfolg in Ihrem Tisch.

Mehr darüber, wie dies zu tun mit Jquery/Ajaxhere

Mehr über Jquery auf Änderung here

Verwandte Themen