Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z selectem
di@blo
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 0
Dołączył: 9.03.2005

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


mam takie zapytanie

  1. $wykonaj = mysql_query("SELECT * FROM sprzet WHERE (nazwa LIKE '%$nazwa%') AND (opis LIKE '%$opis%') AND (firma LIKE '%$firma%') AND (kolor='$kolor') ");


gdy sie poda w formularzu wszystko tj nazwa, opis, firma, kolor to wszystko dziala ok ale jesli ktores z pol zostaje niewypelnione (a użytkownik musi miec taka mozliwosc) to mimo ze pozostale wartosci znajduja sie w bazie nie zwraca nic Jesli ktos wie jak to rozwiazac to bylbym wdzieczny Interesuja mnie rozwiazana w samym zapytaniu mysql oraz przez php

Ten post edytował batman 2.09.2008, 18:12:04
Powód edycji: nobody expects spanish inquisition
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
likemandrake
post
Post #2





Grupa: Zarejestrowani
Postów: 175
Pomógł: 17
Dołączył: 23.06.2006

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


Zawsze możesz to zrobić tak:

  1. <?php
  2. $sQuery = 'SELECT * FROM tabela';
  3. $aWhereStmt = array();
  4. if($zmienna1) {
  5. $aWhereStmt[] = "warunek1 = '" . mysql_real_escape_string($zmienna1) . "'";
  6. }
  7. if($zmienna2) {
  8. $aWhereStmt[] = "warunek2 = '" . mysql_real_escape_string($zmienna2) . "'";
  9. }
  10. if(sizeof($aWhereStmt) > 0) {
  11. $sQuery .= ' WHERE ' . join(' AND ', $aWhereStmt);
  12. }
  13. $sQuery .= ';';
  14. ?>


Cytat(di@blo @ 2.09.2008, 20:35:45 ) *
nie do konca dziala bo jak mam
  1. nazwa LIKE '%nazwa%' AND";

i pozostale zmiene sa puste to przyczepia sie do 'AND'


Najszybszy sposób na pozbycie się tego 'AND' w zlepionym zapytaniu, to skorzystanie z funkcji substr(). Można to zrobić tak:

  1. <?php
  2. $sQuery = substr($sQuery, 0, -4);
  3. ?>


Ten skrawek kodu wykonujesz, gdy zapytanie jest już praktycznie gotowe (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
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: 11.10.2025 - 00:47