Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Wyszukiwarka by nospor, wstawianie LIKE do skryptu?
DREEMus
post
Post #1





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


  1. <?php
  2. $wh = array(); //inicjalizujemy tablicę z warunkami
  3. if (!empty($_POST['miasto'])) //jeśli podano miasto
  4.    $wh[] = "miejscowosc = '$_POST[miasto]' ";
  5. if (!empty($_POST['dzielnica'])) //jeśli podano dzeilnice
  6.    $wh[] = "dzielnica = '$_POST[dzielnica]' ";
  7. if (!empty($_POST['ulica'])) //jeśli podano ulice
  8.    $wh[] = "ulica = '$_POST[ulica]' ";
  9. if (!empty($_POST['cenaOd'])) //jeśli podano cene od
  10.    $wh[] = "cena >= '$_POST[cenaOd]' ";
  11. if (!empty($_POST['cenaDo'])) //jeśli podano cene do
  12.    $wh[] = "cena <= '$_POST[cenaDo]' ";
  13. if (!empty($wh))
  14.    $where = 'WHERE '.implode(' and ', $wh);
  15. else
  16.    $where = '';
  17. echo '<hr><p>Wyniki wyszukiwania:</p>';
  18. //a teraz tworzymy nasze glowne zapytanie i łączymy je z naszymi warunkami
  19. $sql = 'SELECT * FROM nieruchomosci ' . $where . ' AND stat = 0 ORDER BY createDate DESC';
  20. ?>


Taki oto mam kod wyszukiwania... Problem w tym, że gdy podam ulice np. Aleja (w bazie Aleja Pracy) to nie pokaże nic,
próbowałem wstawić tam 'ulica LIKE "%' . $_POST[ulica] . '%" ' zamiast "ulica = '$_POST[ulica]' ",
ale coś nie chce tego przerobić za zapytanie ...
Ktoś może pomóc questionmark.gif ;>

Ten post edytował DREEMus 5.02.2009, 16:08:21


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
blooregard
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 2 033
Pomógł: 290
Dołączył: 21.12.2007
Skąd: Łódź




FULLTEXT search


--------------------
Life's simple... You make choices and don't look back...
Go to the top of the page
+Quote Post
nospor
post
Post #3





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: 'LIKE "%' . $_POST[ulica] . '%" '
a: 'ulica LIKE \'%' . $_POST[ulica] . '%\' '

przeciez dla like trzeba podac jakiego pola ma dotyczyc winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DREEMus
post
Post #4





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


poprawiłem, przy pisaniu zapomniełem to dodać na forum smile.gif
ale tak też nie chce ruszyć ...

po Twoich poprawkach DZIAŁA, lecz dostaje taki błąd ...
Cytat
Notice: Use of undefined constant ulica - assumed 'ulica' in C:\Serwer\htdocs\szukajka.php on line 22


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




nie: $_POST[ulica]
a: $_POST['ulica']

$_POST[ulica] mozesz stosowac w tekscie, a nie poza nim


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
DREEMus
post
Post #6





Grupa: Zarejestrowani
Postów: 286
Pomógł: 34
Dołączył: 4.09.2008
Skąd: Wrocław

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


i wszystko stało się jasne biggrin.gif
dziękuje ślicznie za pomoc smile.gif

poprawny kod:
  1. <?php
  2. $wh = array(); //inicjalizujemy tablicę z warunkami
  3. if (!empty($_POST['miasto'])) //jeśli podano miasto
  4.    $wh[] = 'miejscowosc LIKE '%' . $_POST['miasto'] . '%' ';
  5.  
  6. if (!empty($_POST['dzielnica'])) //jeśli podano dzeilnice
  7.    $wh[] = 'dzielnica LIKE '%' . $_POST['dzielnica'] . '%' ';
  8.  
  9. if (!empty($_POST['ulica'])) //jeśli podano ulice
  10.    $wh[] = 'ulica LIKE '%' . $_POST['ulica'] . '%' ';
  11.  
  12. if (!empty($_POST['cenaOd'])) //jeśli podano cene od
  13.    $wh[] = "cena >= '$_POST[cenaOd]' ";
  14.  
  15. if (!empty($_POST['cenaDo'])) //jeśli podano cene do
  16.    $wh[] = "cena <= '$_POST[cenaDo]' ";
  17.  
  18. if (!empty($wh))
  19.    $where = 'WHERE '.implode(' and ', $wh);
  20.  
  21. else
  22.    $where = '';
  23.  
  24. echo '<hr><p>Wyniki wyszukiwania:</p>';
  25.  
  26. //a teraz tworzymy nasze glowne zapytanie i łączymy je z naszymi warunkami
  27. $sql = 'SELECT * FROM nieruchomosci ' . $where . ' AND stat = 0 ORDER BY createDate DESC';
  28. ?>


--------------------
Serwer : Acer Aspire 5050 : AMD Turion X2 2x1.9 MHz : 2x2 GB Dual : 250GB + 500 GB USB
Warsztat : Apache v2.2 : PHP v5.2 : MySQL v5.0 : phpMyAdmin v3.4 : phpDesigner v7
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 09:45