Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript][MSSQL][PHP]Dynamiczne filtrowanie tabeli
Forum PHP.pl > Forum > Przedszkole
pablosso
Mam tabelę składającą się z 5 kolumn, potrzebuję żeby mi filtrowało tabelę wg. jednej z kolumn. Użytkownik powinien móc wybrać z pola daną opcję, aby przefiltrować tabelę i wyświetliło wiersze tylko z przypisanymi danymi, które wybrał. Mam porobione zapytania
CODE

$tabela_kody = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela);

$status_nowe = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Nowe"');

$status_zaakkompl = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Zaakceptowane, w trakcie kompletacji"');

$status_skomplreal = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Skompletowane, do realizacji"');

$status_wreal = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "W trakcie realizacji"');

$status_zrealwys = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Zrealizowane, do wysłania"');

$status_wys = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Wysłane"');

$status_zakon = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Zakończone"');

$status_wstrz = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Wstrzymane"');

$status_anul = mssql_query('SELECT IdZamowienia, NrZamowienia, DataZaplaty, IdStatusuRealizacji, StatusRealizacji, DataUtworzenia, Blokujacy FROM '.$tabela.' WHERE StatusRealizacji = "Anulowane"');


Znalazłem na internecie w JavaScript skrypt
Kod
function change_comm_type(table, e)
{
        r = document.getElementById(table).rows;
        for(i = 1; i < r.length; i++)
                r[i].style.display = e.value == '0' ? '' :
                e.value == r[i].className ? '' : 'none';
}


A program wygląda tak
  1. <?php
  2. $serwer = "host";
  3. $login = "login";
  4. $haslo = "haslo";
  5. $baza = "ECMDB_test";
  6. $tabela = "Lista_Zamowien_v";
  7.  
  8. $link = mssql_connect($serwer, $login, $haslo);
  9. mssql_select_db($baza, $link)
  10. or die;
  11.  
  12. /* tutaj są te zapytania */
  13.  
  14. ?>
  15. <html>
  16. <head>
  17. <title>test</title>
  18. <link rel="stylesheet" href="css/style.css" type="text/css" />
  19. </head>
  20. <body>
  21. <script>
  22. function change_comm_type(table, e)
  23. {
  24. r = document.getElementById(table).rows;
  25. for(i = 1; i < r.length; i++)
  26. r[i].style.display = e.value == '0' ? '' :
  27. e.value == r[i].className ? '' : 'none';
  28. }
  29. </script>
  30. <select name="opcja" onchange="change_comm_type('testowo', this)">
  31. <option value="0">Wszystkie</option>
  32. <option value="1">Nowe</option>
  33. <option value="2">Zaakceptowane, w trakcie kompletacji</option>
  34. <option value="3">Skompletowane, do realizacji</option>
  35. </select>
  36. <?php
  37. echo '<form method="POST" action="produkty.php">
  38. <table>
  39. <tr>
  40. <td>
  41. <input type="submit" id="przycisk" name="Send" value="POKAŻ">
  42. </td>
  43. </tr>
  44. </table>
  45. <table border=1 id="testowo">
  46. <thead>
  47. <tr id="tabh">';
  48. echo "<th width=45px><br/></th>";
  49. echo '<th width=205px>Numer zamówienia</th>
  50. <th width=90px>Zapłacone</th>
  51. <th width=340px>Status realizacji</th>
  52. <th width=130px>Data utworzenia</th>
  53. <th width=90px>Blokujący</th>
  54. </tr>
  55. </thead>
  56. <tbody>';
  57.  
  58. while($row = mssql_fetch_assoc($tabela_kody))
  59. {
  60. echo '<tr id="tabb1">';
  61. echo '<td><input type=checkbox class=largerCheckbox name="chbox[]" value="'.$row['NrZamowienia'].'"></td>';
  62. echo "<td>".$row['NrZamowienia']."</td>";
  63. echo "<td>".$zaplacone."</td>";
  64. echo "<td>".$row['StatusRealizacji']."</td>";
  65. echo "<td>".$datazm."</td>";
  66. echo "<td>".$row['Blokujacy']."</td>";
  67. echo "</tr>";
  68. }
  69. echo '</tbody>
  70. </table>';
  71. ?>
  72. </body>
  73. </html>


Próbowałem na if coś w tym stylu
  1. if( $_POST['opcja'] == '1' )
  2. {
  3. $tabela_kody = $status_nowe;
  4. }


Nie wiem co mam zrobić, żeby to działało, dlatego napisałem ten temat.
nospor
Tutaj pisałem jak zrobić wyszukiwarkę.
http://nospor.pl/wyszukiwarka-zapytanie-za...d-warunkow.html

ps: ten kod js to ci nie będzie do niczego potrzebny
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.