Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> własna wyszukiwarka
reebel
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 26.05.2006

Ostrzeżenie: (0%)
-----


Wyszukiwarka ma 3 pola: branża [przydzielona numerycznie], miejscowosc oraz nazwa. Jeśli wszystkie pola zostaną puste jako rezultat wyszukiwania wyświetlone zostaną wszystkie wpisy. Jeśli tylko jedno pole dostanie wpisana np. miejscowosc to nazwa i branza dostają wartość 0 reszta działa wg tego schematu. Kod jest wstępnie gotowy jednak nie jest do konca poprawny poniewaz wyświetla poprawny rezultat tylko wówczas gdy wszystkie pola są wypełnione w innym przepadku zwraca wszystkie wpisy z bazy.
Bardzo prosze o korekte



$b - branża
$m - miejscowosc
$n - nazwa

poniżej zamieszczam fragment mojego skryptu odpowiedzialny za ustalanie odpowiednich warunków wyszukkiwania

  1. <?php
  2. <php
  3. if ($tryb == 'szukaj' && $b && $m && $n) {
  4.  
  5.  
  6.  
  7. if ($b == '0' && $m == '0') {
  8. $warunek1 = '';
  9. $warunek2 = '';
  10.  
  11. if ($n == '0') { $warunek3 = ''; } else {
  12. $warunek3 = 'WHERE baza_nazwa LIKE '%$n%' ';}
  13.  
  14. } 
  15.  
  16.  
  17.  
  18.  
  19. if ($b == '0' && $m !== '0') {
  20. $warunek1 = '';
  21. $warunek2 = 'WHERE baza_miejscowosc='$m' ';
  22.  
  23. if ($n == '0') {$warunek3 = '';} else {
  24. $warunek3 = 'AND baza_nazwa LIKE '%$n%' ';}
  25.  
  26.  
  27. } 
  28.  
  29.  
  30.  
  31. if ($b !== '0' && $m !== '0') { 
  32.  
  33. $warunek1 = 'WHERE baza_branza='$b' ';
  34. $warunek2 = 'AND baza_miejscowosc='$m' ';
  35.  
  36. if ($n == '0') {$warunek3 = '';} else {
  37. $warunek3 = 'AND baza_nazwa LIKE '%$n%' ';}
  38.  
  39. }
  40.  
  41.  if ($b !== '0' && $m == '0') { 
  42.  
  43. $warunek1 = 'WHERE baza_branza='$b' ';
  44. $warunek2 = '';
  45.  
  46. if ($n == '0') {$warunek3 = '';} else {
  47. $warunek3 = 'AND baza_nazwa LIKE '%$n%' ';}
  48.  
  49. }
  50. }
  51. ?>


  1. $result = dbquery(
  2. "SELECT tb.*, baza_branza_id, baza_branza_nazwa FROM fusion_baza_fii tb
  3. LEFT JOIN fusion_baza_branze tbn ON tb.baza_branza=tbn.baza_branza_id
  4. $warunek1 $warunek2 $warunek3 ORDER BY baza_datestamp DESC LIMIT 0, 10"
  5. );


Ten post edytował reebel 26.05.2006, 19:26:08
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.10.2025 - 17:54