Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][PHP]Inne rozwiązanie tworzenia zapytania
Winters4TW
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 29.12.2010

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


Cześć,

mam formularz, w którym podaje dane, a skrypt ma utworzyć zapytanie do bazy. Rozwiązałem to w nastepujący sposób:

  1. $this->_zapytania = array("nazwa"=> addslashes(trim($_POST['nazwa'])), "kwotaod" => floatval(($_POST['kwotaod'])), "kwotado" => floatval(($_POST['kwotado'])), "tytul"=>addslashes(trim($_POST['tytul'])));
  2.  
  3. $sql = "SELECT * FROM platnosci WHERE ";
  4.  
  5. if(!empty($this->_zapytania['nazwa'])) {
  6. $sql = $sql."nazwa LIKE '%".$this->_zapytania['nazwa']."%' ";
  7. }
  8. if(!empty($this->_zapytania['kwotaod']) AND !empty($this->_zapytania['kwotado'])) {
  9. $sql = $sql."AND kwota BETWEEN ".$this->_zapytania['kwotaod']." AND ".$this->_zapytania['kwotado']." ";
  10. }
  11. if(!empty($this->_zapytania['kwotaod']) AND empty($this->_zapytania['kwotado'])) {
  12. $sql = $sql."AND kwota >= ".$this->_zapytania['kwotaod']." ";
  13. }
  14. if(empty($this->_zapytania['kwotaod']) AND !empty($this->_zapytania['kwotado'])) {
  15. $sql = $sql."AND kwota <= ".$this->_zapytania['kwotado']." ";
  16. }
  17. if(!empty($this->_zapytania['tytul'])) {
  18. $sql = $sql."AND tytul LIKE '%".$this->_zapytania['tytul']."%' ";
  19. }


i owszem, działa. Jednak czy jest inne rozwiązanie, bardziej optymalne, bo wydaje mi się że powyższe nie jest do końca dobre biorąc pod uwagę ilość instrukcji.

Pozdrawiam!
Go to the top of the page
+Quote Post

Posty w temacie


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 - 01:33