Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][mysql]
gojira
post 21.10.2007, 09:30:14
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 14.10.2007

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


Dziendobry,

mam takie pola w pliku "plik2.php"
  1. <tr>
  2. <td/><td class="right">Cena od:</td>
  3. <td><input type="text" size="10" maxlength="5" id="cenaod" name="cenaod"/></td>
  4. </tr>
  5.  
  6. <tr>
  7. <td/><td class="right">Cena do:</td>
  8. <td><input type="text" size="10" maxlength="5" id="cenado" name="cenado"/></td>
  9. </tr>


chce to co jest w tych polach wpisane pobrac i wyszukac w bazie danych. zapytanie mam takie
  1. <?php
  2. if (isset($_GET['cenaod']) || isset($_GET['cenado'])){
  3.  $where="$where Cena > '{$_GET['cenaod']}' AND Cena < '{$_GET['cenado']}' AND";
  4.  }
  5. $where=substr($where,0,-3)
  6. ?>


niestety po wpisaniu w pole cene do wyszukuje, jednak gdy wpisze od wywala mi iz zakonczono niepowodzeniem zapytanie. do tego mam problem, iz nie wiem jak zrobic, ze gdy w oba pola wpisze cene, wyszuka mi pzredzial miedzy nimi, a gdy jedno tylko to wszystko do tego kryterium...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
JaRoPHP
post 21.10.2007, 10:27:13
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 15
Dołączył: 7.11.2004
Skąd: Katowice

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


Jest spora różnica pomiędzy funkcją isset" title="Zobacz w manualu PHP" target="_manual, a funkcją empty" title="Zobacz w manualu PHP" target="_manual. Poza tym cierpi logika twojego skryptu smile.gif.
  1. <?php
  2. if(!empty($_GET['cenaod']) && !empty($_GET['cenado'])) {
  3. $and = ' AND ';
  4. }
  5.  
  6. if(!empty($_GET['cenaod'])) {
  7. $where .= 'Cena >= ' . $_GET['cenaod'];
  8. }
  9.  
  10. if(!empty($_GET['cenado'])) {
  11. $where .= $and . 'Cena <= ' . $_GET['cenado'];
  12. }
  13. ?>


--------------------
Kto pyta, nie błądzi...
Kto zbłądził, ten pyta...
Go to the top of the page
+Quote Post
gojira
post 21.10.2007, 11:55:29
Post #3





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 14.10.2007

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


hmmm chyba jednak powinienem wpisac caly kod tu, o ktory mi chodzi a przy okazji moze rozwiazecie druga zagadke ktora jest dla mnie ciezka, zdaje sobie sprawe ze to moj bld logiczny w torzeniu zapytan itd, ale nie wiem jak go zoptymalizowac tak aby dzialalo.

Otoz gdy wpisze w pole nazwa czy Producent, przy okazji zaznaczajac checkboxa, aby szukalo tych kryteriow, jednak przy zaznaczeniu dwoch i wiecej checkboxow, wywala mi na ekran wynik name + chechboc plus wynik jakby oddzielny od innych checkboxow, i tak jak wciskam nazwe telewizora i tv, wynajdzie mi to co szukam, ale jak dodam rozne, to znajdzie mi telewizor plus wywali na ekran wszystkie poszukiwania z drugiego checkboxa. koda mam taki
  1. <?php
  2. if (isset($_GET['advanced_search'])){
  3.  
  4. $where="";
  5.  
  6. if (isset($_GET['Nazwa'])){
  7.  $where="$where `Nazwa` LIKE '%{$_GET['Nazwa']}%' AND";
  8.  }
  9.  if (isset($_GET['Producent'])){
  10.  $where="$where `Producent` LIKE '%{$_GET['Producent']}%' AND";
  11.  }
  12.  if (isset($_GET['Opis'])){
  13.  $where="$where `Opis` LIKE '%{$_GET['Opis']}%' AND";
  14.  }
  15. if ($_GET['Rozne']=="1"){
  16. $where="$where Rodzaj='Rozne' OR";
  17. }
  18. if ($_GET['TV']=="1"){
  19. $where="$where Rodzaj='TV' OR";
  20. }
  21. if ($_GET['Kuchnia']=="1"){
  22. $where="$where Rodzaj='Kuchnia' OR";
  23. }
  24. if ($_GET['Muzyka']=="1"){
  25. $where="$where Rodzaj='Muzyka' OR";
  26. }
  27. if (!empty($_GET['cenaod'])) {
  28. $where= "$where Cena >= '{$_GET['cenaod']}' AND";
  29. }
  30. if (!empty($_GET['cenado'])) {
  31. $where= "$where Cena <= '{$_GET['cenado']}' AND";
  32. }
  33. $where = "WHERE $where";
  34. $where=substr($where,0,-3);
  35.  
  36. }
  37. $result = mysql_query ("$query $where") or die ("Zapytanie zakończone niepowodzeniem");
  38. ?>

cena dzial btw; chyba dzieki temu empty, za co dziekuje smile.gif
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 Wersja Lo-Fi Aktualny czas: 18.07.2025 - 15:08