Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Szukanie kilku parametrów
Forum PHP.pl > Forum > PHP
Dziurga
Witam,

chciałem zrobić wyszukiwarkę kilku parametrów na raz i niestety warunki oraz samo szukaj działa mi tylko do momentu
  1. typogloszenia=idtyp AND Rodzajnieru=idrodz
dalej mam jakiś błąd i pokazuje się współczynnik kartezjański (jeżeli jest OR) lub pusty wynik (Jeżeli jest AND). Proszę o pomoc tutaj link do sprawdzenia jak to działa http://dziurga.pl/bn/nieruchomosc.php

a tu cały kod

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <title>Szukaj</title>
  6. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  7. </head>
  8. <body>
  9. <table>
  10. <?php
  11. mysql_connect( 'localhost', '*******', '*******' ) or die( 'Brak połączenia z serwerem MySQL' );
  12. mysql_select_db( '*******' ) or die( 'Nie mogę połączyć się z bazą danych' );
  13. if( isset( $_POST['szukaj'] ) )
  14. {
  15. $query = mysql_query( 'SELECT `Rodzajnieruch`, `Wielkosc`, `umeblowany`, `iloscpok`, `cena`*`vat`+`cena`, `Rodzaj`, `opisnier` FROM `tbRodzajnieru`, `tbNieruchom`, `tbTypoglosz` WHERE typogloszenia=idtyp AND Rodzajnieru=idrodz AND `Rodzajnieruch` LIKE "%' . $_POST['szukana_fraza'] . '%" AND `Wielkosc` BETWEEN "%' . $_POST['szukana_fraza2'] . '%" AND "%' . $_POST['szukana_fraza3'] . '%" AND `umeblowany` LIKE "%' . $_POST['szukana_fraza4']. '%" AND `iloscpok` LIKE "%' . $_POST['szukana_fraza5']. '%" AND `cena`*`vat`+`cena` BETWEEN "%' . $_POST['szukana_fraza6'] . '%" AND "%' . $_POST['szukana_fraza7'] . '%" AND Rodzaj LIKE "%' . $_POST['szukana_fraza8']. '%"' );
  16.  
  17.  
  18. echo '<tr><th align="center"><font size="2" face="arial" color="orange">Rodzaj nieruchomości' . '</font></th><th align="center"><font size="2" face="arial" color="orange">Wielkość' . '</font></th><th align="center"><font size="2" face="arial" color="orange">Umeblowany' . '</font></th><th align="center"><font size="2" face="arial" color="orange">Ilosc Pokoji' . '</font></th><th align="center"><font size="2" face="arial" color="orange">Cena' . '</font></th><th align="center"><font size="2" face="arial" color="orange">Typ ogłoszenia' . '</font></th><th align="center"><font size="2" face="arial" color="orange">Opis' . '</font></th></tr>';
  19. while( $row = mysql_fetch_array( $query ) )
  20. {
  21. echo '<tr><td align="center"><font size="2" face="arial" color="black">' . $row["Rodzajnieruch"] . '</font></td><td align="center"><font size="2" face="arial" color="black">'. $row["Wielkosc"] . '</font></td><td align="center"><font size="2" face="arial" color="black">'. $row["umeblowany"] . '</font></td><td align="center"><font size="2" face="arial" color="black">'. $row["iloscpok"] . '</font></td><td align="center"><font size="2" face="arial" color="black">'. $row["`cena`*`vat`+`cena`"] . '</font></td><td align="center"><font size="2" face="arial" color="black">'. $row["Rodzaj"] . '</font></td><td align="center"><font size="2" face="arial" color="black">'. $row["opisnier"] . '</font></td></tr>';
  22. }
  23. }
  24. else
  25. {
  26. ?>
  27. <form method="post" action="nieruchomosc.php">
  28. Rodzaj Nieruchomości<br />
  29. <select name="szukana_fraza">
  30. <option>Mieszkanie</option>
  31. <option>Dom</option>
  32. <option>Mieszkanie Studencki</option>
  33. </select><br />
  34. Wielkość: <br />
  35. od:
  36. <input type="text" name="szukana_fraza2" value="" />
  37. do:
  38. <input type="text" name="szukana_fraza3" value="" /><br />
  39. Umeblowany:<br />
  40. <select name="szukana_fraza4">
  41. <option>1</option>
  42. <option>0</option>
  43. </select><br />
  44. Ilość Pokoji:<br />
  45. <input type="text" name="szukana_fraza5" value="" /><br />
  46. Cena<br />
  47. od:
  48. <input type="text" name="szukana_fraza6" value="" />
  49. do:
  50. <input type="text" name="szukana_fraza7" value="" /><br />
  51. Rodzaj Ogłoszenia<br />
  52. <select name="szukana_fraza8">
  53. <option>Sprzedam</option>
  54. <option>Kupie</option>
  55. <option>Wynajem</option>
  56. </select><br />
  57.  
  58. <input type="submit" name="szukaj" value="Szukaj" />
  59. </form>
  60. <?php
  61. }
  62. ?>
  63. </table>
  64. </body>
  65. </html>



Tutaj podaje rekordy w bazie

  1. Rodzajnieruch Wielkosc umeblowany iloscpok `cena`*`vat`+`cena` Rodzaj
  2. Dom 100.00 0 5 553500.00000 Sprzedam
  3. Mieszkanie 70.00 1 1 123000.00000 Sprzedam
  4. Mieszkanie Studencki 50.00 1 2 2460.00000 Wynajem
  5. Mieszkanie 74.00 0 5 0.00000 Kupie
  6.  



jeszcze podam strukturę tabel
  1. `tbNieruchom` (
  2. `idnie` int(11) NOT NULL AUTO_INCREMENT,
  3. `Rodzajnieru` int(3) NOT NULL,
  4. `Wielkosc` decimal(10,2) NOT NULL,
  5. `ulica` varchar(20) CHARACTER SET latin2 NOT NULL,
  6. `nrdom` varchar(5) CHARACTER SET latin2 NOT NULL,
  7. `nrmiszka` varchar(5) CHARACTER SET latin2 NOT NULL,
  8. `umeblowany` tinyint(1) NOT NULL,
  9. `iloscpok` decimal(2,0) NOT NULL,
  10. `cena` decimal(10,2) NOT NULL,
  11. `vat` decimal(3,3) NOT NULL,
  12. `typogloszenia` int(3) NOT NULL,
  13. `opisnier` text CHARACTER SET latin2 NOT NULL,
  14. PRIMARY KEY (`idnie`)
  15. )


  1. `tbRodzajnieru` (
  2. `idrodz` int(11) NOT NULL AUTO_INCREMENT,
  3. `Rodzajnieruch` varchar(20) CHARACTER SET latin2 NOT NULL,
  4. `opis` text CHARACTER SET latin2 NOT NULL,
  5. PRIMARY KEY (`idrodz`)




  1. `tbTypoglosz` (
  2. `idtyp` int(11) NOT NULL AUTO_INCREMENT,
  3. `Rodzaj` varchar(20) CHARACTER SET latin2 NOT NULL,
  4. `Opis` text CHARACTER SET latin2 NOT NULL,
  5. PRIMARY KEY (`idtyp`)
kadlub

zamiast apostrofa użyj cudzysłów np
  1. ("select * from tabela where pole='".$_POST['name']."'")
Dziurga
Dziękuje za pomoc zadziałało smile.gif)) Pozdrawiam
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.