Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]prosta wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
ukaszq
Mam prostą wyszukiwarkę, która wyszukuje z bazy danych, przy trzych opcjach. Można wpisać frazę wg której szuka, można wybrać województwo i jakiś produkt. Kiedy wyszukuje fraze i wybiore wojewodztwo, to tak jakby nie uznawał tej opcji wojewodztwo i pokazuje wszystkie spełnione kryteria, ale bez wojewodztwa, tak samo jest z branza. Moim zdaniem to jakby nie uwzględniał tego co jest po where: oferta where wojewodztwo='$wojewodztwo' and kategoria='$branza' and checking='TAK'");


  1. <?php
  2. if(isset($_POST['fraza'])){
  3.        $fraza=$_POST['fraza'];    
  4.        }
  5.    
  6.    if(isset($_POST['wojewodztwo'])){
  7.        if($_POST['wojewodztwo']!=="---"){
  8.        $wojewodztwo=$_POST['wojewodztwo'];    
  9.        }}
  10.        
  11.    if(isset($_POST['branza'])){
  12.        if($_POST['branza']!=="---"){
  13.        $branza=$_POST['branza'];    
  14.        }}
  15.        
  16.  
  17.    if($fraza or $wojewodztwo or $branza){
  18.  
  19.    
  20.    if($fraza){
  21.        $fraza1=strtolower($fraza);
  22.        $fraza2=ucfirst($fraza);
  23.        $zap_fraza=mysql_query("Select * from oferta where stanowisko='$fraza' or stanowisko='$fraza2' or stanowisko='$fraza1' and checking='TAK'");
  24.            }elseif($fraza and $branza){
  25.                $fraza1=strtolower($fraza);
  26.                $fraza2=ucfirst($fraza);
  27.                $zap_fraza=mysql_query("Select * from oferta where kategoria='$branza' and checking='TAK' and stanowisko='$fraza' or stanowisko='$fraza2' or stanowisko='$fraza1'");
  28.                }elseif($fraza and $branza and $wojewodztwo){
  29.                    $fraza1=strtolower($fraza);
  30.                    $fraza2=ucfirst($fraza);
  31.                    $zap_fraza=mysql_query("Select * from oferta where kategoria='$branza' and wojewodztwo='$wojewodztwo' and stanowisko='$fraza' or stanowisko='$fraza2' or stanowisko='$fraza1' and checking='TAK'");
  32.                    }elseif($wojewodztwo){
  33.                        $zap_fraza=mysql_query("Select * from oferta where wojewodztwo='$wojewodztwo' and checking='TAK'");
  34.                        }elseif($wojewodztwo and $branza){
  35.                            $zap_fraza=mysql_query("Select * from oferta where wojewodztwo='$wojewodztwo' and kategoria='$branza' and checking='TAK'");
  36.                            }elseif($branza){
  37.                                $zap_fraza=mysql_query("Select * from oferta where kategoria='$branza' and checking='TAK'");
  38.                                }
  39.        
  40.        
  41.        $ile=mysql_num_rows($zap_fraza);
  42.        if($ile>0){
  43.  
  44. echo cos tam...
  45. }
  46. ?>
nospor
to przez te OR.
Musisz je wziąść w nawias.
Tak samo masz w matmie:
2+3+4*2 da ci inny wynik niz (2+3+4)*2

where (stanowisko='$fraza' or stanowisko='$fraza2' or stanowisko='$fraza1') and .... and ......

Pozatym tak sie nie buduje wyszukiwarki.
http://nospor.pl/wyszukiwarka-zapytanie-za...runkow-n31.html
ukaszq
Dziękuję smile.gif
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.