Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Wyszukiwarka i wyświetlenie wyników
Forum PHP.pl > Forum > Przedszkole
aquarius1978
Witam,

Mam stworzoną wyszukiwarkę, która działa poprawnie. Stworzone są w niej 3 filtry na podstawie, których wybiera się dane, jakie mają zostać wyświetlone.
Wyniki otrzymuję prawidłowo.
Chciałbym jednak by na stronie z wynikami, była również informacja jakie filtry zostały zastosowane.

Przykład:
W wyszukiwarce wybieram sobie: miasto, miesiąc, rok. Otrzymuję np. 20 wyników

Jak zrobić, by przed wyświetleniem wyników były podane te filtry, czyli np: Warszawa, Maj, 2012

Poniżej kod:
  1. <table width="100%" border="1">
  2.  
  3. <tr><td width="10%">#</td><td width="20%">Masa</td><td width="20%">Objętość</td><td width="20%">Wynik Końcowy</td><td width="20%">Miasto</td><td width="10%">Miesiąc</td><td width="10%">Rok</td></tr>
  4. <?php
  5.  
  6. require_once('class/class.SQL.php');
  7.  
  8.  
  9. $sql = new SQL;
  10.  
  11. $sql->connection();
  12.  
  13. $title = 'Wyniki KPK';
  14.  
  15.  
  16.  
  17. //start szukania
  18.  
  19. echo'<h2>Wyniki wyszukiwania</h2>';
  20.  
  21. $_POST['city']=trim($_POST['city']);
  22.  
  23. $_POST['month']=trim($_POST['month']);
  24.  
  25. $_POST['rok']=trim($_POST['rok']);
  26.  
  27.  
  28. if(empty($_POST['city']) && empty($_POST['month']) && empty($_POST['rok']))
  29.  
  30. die('Formularz wypełniony niepoprawnie! Nie można wyświetlić wyników wyszukiwania!');
  31.  
  32. else
  33. {
  34.  
  35. $query="Select * From kj_2 Where city Like '%{$_POST['city']}%' AND month Like '%{$_POST['month']}%'AND rok Like '%{$_POST['rok']}%'";
  36.  
  37. $result=mysql_query($query);
  38.  
  39. $obAmount=mysql_num_rows($result);
  40.  
  41. echo'Znaleziono: '.$obAmount.'<br /><br />';
  42.  
  43. for($x=0;$x<$obAmount;$x++)
  44. {
  45.  
  46. $row=mysql_fetch_assoc($result);
  47.  
  48.  
  49.  
  50. if( $row['wynik_end'] < 45){
  51.  
  52. $color = 'red';
  53.  
  54. }
  55. else{
  56.  
  57. $color = 'black';
  58.  
  59. }
  60.  
  61.  
  62.  
  63. echo ($row['city']); //- Tutaj nie wiem jak zrobić, wyświetla mi miasto tyle razy ile było wyników, a chcę
  64. // by było raz tylko wyświetlone
  65.  
  66.  
  67. echo '<tr><td>'.($x+1).'</td><td>'.$row['masa'].'</td><td>'.$row['objetosc'].'</td><td><font color="'.$color.'">'.$row['wynik_end'].'</font></td><td>'.$row['city'].'</td><td>'.$row['month'].'</td><td>'.$row['rok'].'</td></tr>';
  68.  
  69.  
  70.  
  71. }
  72. }
  73.  
  74. // Controler
  75.  
  76.  
  77. //require_once('themes/dzj_badanie_kpk_wyniki.php');
  78. # require_once('themes/classic/footer.php');
  79.  
  80. ?>
  81. </table>
usb2.0
zacznij od rezygnacji zapytania z like, albo wpisz sobie % i zobacz wyniki:P
aquarius1978
O widzę krajan pisze smile.gif

A jak byś to zrobił? Prosiłbym o jakiś przykład jak to zrobić.

Ale bardziej mi chodzi o wyświetlenie danych z filtra.
usb2.0
Szczerze to nie bardzo rozumiem tego problemu z filtrami, ale wracając do samego wyszukiwania to jeśli masz tabele na "silniku" MyISAM, to można uzyć np. Full Text Search które jest proste i działa napewno lepiej niż like, albo jeśli chcesz się nauczyć czegoś nowego i mieć pro użyj http://sphinxsearch.com/
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.