Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] zmiana zapytania zależnie od rodzaju wyszukiwania - umieszczenei zmiennych będących częscią zapytania
Forum PHP.pl > Forum > Przedszkole
hyhyhy
Witam,
Nazwa tematu może niewiele mówi, więc prostuje:
Mam wyszukiwarkę, i chcę, żeby user mógł wybrać np. opcje sortowania, w jakim polu rekordu szuka (czy w tresci czy w tytule czy w calosci), i jeszcze jedną wartość. Wymyśliłem, że w pliku wyświetlającym wyniki zrobię warunek, w zależności od tego co wybrał, do zmiennej $sql_costam wrzucam inny tekst, zeby zmodyfikowac zapytanie, ale wygląda na to, że nie działa to tak jakbym chciał. Czy ktoś mógłby mi doradzić, jak mam to zrobić?

  1. // POBRANIE ZMIENNYCH
  2. $tryb_szukania = (int) $_GET["tryb_szukania"];
  3. $order = (int) $_POST["order"];
  4. $phrase = mysql_real_escape_string(htmlspecialchars(trim($_GET["phrase"])));
  5.  
  6. //Nie wrzucam całego, bo tego jest sporo opcji dla usera a i tak chodzi o to samo
  7.  
  8. // SORTOWANIE
  9. if (!empty($order))
  10. {
  11. if ($order == 1) {$sql_order = 'DESC'; $ustawienia_order = 'Wyświetlanie ogłoszeń od najnowszego';}
  12. if ($order == 2) {$sql_order = 'ASC'; $ustawienia_order = 'Wyświetlanie ogłoszeń od najstarszego';}
  13. } else { $sql_order = 'RAND()'; $ustawienia_order = 'Wyświetlanie w kolejności losowej (domyślne ustawienie)';}
  14.  
  15. // i potem...
  16.  
  17. $sql = 'SELECT * FROM `ogloszenia` WHERE $sql_w_czym AND $sql_kategoria ORDER BY $sql_order LIMIT $od, $do';
  18. $result = mysql_query($result);


i mówi mi, że You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND ORDER BY LIMIT $od, $do' at line 1

PS. próbowałem też je wrzucać w '.$zmienna.' - na jedno wychodzi.
cycofiasz
Wyświetl sobie $sql zanim go wykonasz...
hyhyhy
Do zamknięcia, byłem ślepy wczoraj widocznie, już działa
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.