Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] [php] wyszukiwanie rekordu podając kilka wartości
kononowicz
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


witam

napisałem w phpie skrypt wyszukujący rekordy z bazy mysql:

  1. <?php
  2. echo'<form action="example.php" method="post">';
  3. echo "<br>wpisz towar <br>";
  4. echo'<input type="text" name="towary" id="towary" value="">';
  5. echo "<br>wpisz kod <br>";
  6. echo'<input type="text" name="kod" id="kod" value="">';
  7. echo "<br>wpisz cenę <br>";
  8. echo'<input type="text" name="cena" id="cena" value="">';
  9.  
  10. echo'<input type="submit" name="znajdz" value="znajdz">';
  11. echo'<input type="reset" value="wyczyść">';
  12. echo'</form>';
  13.  
  14. if(isset($_POST['znajdz']))
  15. {
  16. $towary = $_POST['towary'];
  17. $kod = $_POST['kod'];
  18. $cena = $_POST['cena'];
  19.  
  20. $zapytanie = mysql_query("SELECT *
  21.  FROM `towary`,`dzialy`
  22.  WHERE `towary`.`TOWARY` LIKE '$towary'
  23.  AND `towary`.`KOD` LIKE '$kod'
  24.  AND `towary`.`CENA` LIKE '$cena' ");
  25.  echo "<table cellpadding="1" border=1>";
  26. echo "<tr>";
  27. echo "<td> towary </td>";
  28. echo "<td> kod </td>";
  29. echo "<td> cena </td>";
  30. echo "<td> działy </td>";
  31. echo "<tr>";
  32. while( $wiersz = mysql_fetch_array($zapytanie) )
  33. {
  34.  
  35. echo "<tr>";
  36. echo "<td>".$wiersz['TOWARY']."</td>";
  37. echo "<td>".$wiersz['KOD']."</td>";
  38. echo "<td>".$wiersz['CENA']."</td>";
  39. echo "<td>".$wiersz['ID_DZIALY']."</td>";
  40. echo "<tr>";
  41. }
  42. echo "</table>";
  43.  
  44. mysql_close($connection);
  45. }
  46. ?>


pytanie brzmi jak napisać zapytanie mysqlowe aby wyszukiwał mi rekord przy podaniu kilku wartosci np. podaję nazwe towaru i np. cene a wyszukiwarka wyszukuje mi dany towar. nie wiem jak mam sobie z tym poradzić: albo wyświetla mi kilka razy te same rekordy albo nie wyswietla mi nic (w zaleznosci czy uzyje AND albo OR). Jak powinnien wygladac poprawne wyszukiwanie w MySQLu?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? ewentualnie proszę o wszelkie sugestie na temat tego kodu w ogóle...

Ten post edytował kononowicz 4.12.2006, 03:31:58
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kononowicz
post
Post #2





Grupa: Zarejestrowani
Postów: 238
Pomógł: 0
Dołączył: 12.11.2006
Skąd: Białystok

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


cos takiego naskrobałem:

  1. <?php
  2. echo'<form action="szukaj1.php" method="post">';
  3. echo "<br>wpisz towar <br>";
  4. echo'<input type="text" name="towary" id="towary" value="">';
  5. echo "<br>wpisz kod <br>";
  6. echo'<input type="text" name="kod" id="kod" value="">';
  7. echo "<br>zakres ceny <br> od:";
  8. echo'<input type="text" name="cena_od" id="cena_od" value="">';
  9. echo " do: ";
  10. echo'<input type="text" name="cena_do" id="cena_do" value="">';
  11. echo'<input type="submit" name="znajdz" value="znajdz">';
  12. echo'<input type="reset" value="wyczyść">';
  13. echo'</form>';
  14.  
  15. if(isset($_POST['znajdz']))
  16. {
  17. $wh = array();
  18. if (!empty($_POST['cena_od']))
  19.  $wh[] = 'CENA >= '.$_POST['cena_od'];
  20. if (!empty($_POST['cena_do']))
  21.  $wh[] = 'CENA <= '.$_POST['cena_do'];
  22. if (!empty($_POST['towary']))
  23.  $wh[] = 'TOWARY <= '.$_POST['towary'];
  24. if (!empty($_POST['kod']))
  25.  $wh[] = 'KOD <= '.$_POST['kod'];
  26.  
  27. if (!empty($wh))
  28.  $where = 'where '.implode(' and ', $wh);
  29. else
  30.  $where = '';
  31. $zapytanie = 'SELECT * FROM `towary` '.$where;
  32.  
  33.  echo "<table cellpadding="1" border=1>";
  34. echo "<tr>";
  35. echo "<td> towary </td>";
  36. echo "<td> kod </td>";
  37. echo "<td> cena </td>";
  38. echo "<td> działy </td>";
  39. echo "<tr>";
  40. while( $wiersz = mysql_fetch_array($zapytanie) )
  41. {
  42. echo "<tr>";
  43. echo "<td>".$wiersz['TOWARY']."</td>";
  44. echo "<td>".$wiersz['KOD']."</td>";
  45. echo "<td>".$wiersz['CENA']."</td>";
  46. echo "<td>".$wiersz['DZIALY']."</td>";
  47. echo "<tr>";
  48. }
  49. echo "</table>";
  50. }
  51. ?>


wyświetla:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/*********/szukaj1.php on line 41

Ten post edytował kononowicz 4.12.2006, 14:11:17
Go to the top of the page
+Quote Post

Posty w temacie
- kononowicz   [MySQL] [php] wyszukiwanie rekordu podając kilka wartości   4.12.2006, 03:31:16
- - dtb   przetlumacz to na polski, bo z tego co widze w kod...   4.12.2006, 05:58:56
|- - kononowicz   Cytat(dtb @ 4.12.2006, 05:58:56 ) prz...   4.12.2006, 06:26:20
- - Sedziwoj   Jak używasz OR w zapytaniu to szuka jednego lub dr...   4.12.2006, 08:34:35
|- - kononowicz   Cytat(Sedziwoj @ 4.12.2006, 08:34:35 ...   4.12.2006, 12:11:14
- - acztery   a po co distinct jezeli wpisze ktos cene 2 zł a w...   4.12.2006, 09:21:49
- - nospor   http://forum.php.pl/index.php?showtopic=36...mp;#e...   4.12.2006, 09:37:21
- - acztery   co do ceny po nie lepiej dać between wydawać się z...   4.12.2006, 09:47:40
- - nospor   Cytatnie można tego zrobić prościej, czyli jedna l...   4.12.2006, 12:18:54
|- - kononowicz   Cytat(nospor @ 4.12.2006, 12:18:54 ) ...   4.12.2006, 12:32:59
- - nospor   [PHP] pobierz, plaintext <?php$wh = array(...   4.12.2006, 12:40:25
- - kononowicz   cos takiego naskrobałem: [PHP] pobierz, plai...   4.12.2006, 14:02:40
- - nospor   no ale kolego.... zapytanie to jeszcze trzeba wyko...   4.12.2006, 14:11:38
|- - kononowicz   Cytat(nospor @ 4.12.2006, 14:11:38 ) ...   4.12.2006, 14:21:56
- - nospor   no ale co to jest to TOWARY? bo w warunku dales: T...   4.12.2006, 14:26:17
|- - kononowicz   Cytat(nospor @ 4.12.2006, 14:26:17 ) ...   4.12.2006, 14:36:42
- - nospor   no tak, skoro to napis to powinien byc like, ale p...   4.12.2006, 14:51:10
- - kononowicz   nie mogęsobie poradzić.. jak wstawić % miedzy ...   4.12.2006, 15:40:05
- - nospor   no ale przeciez to jest banalnie proste. poto dost...   4.12.2006, 15:41:51
|- - kononowicz   Cytat(nospor @ 4.12.2006, 15:41:51 ) ...   4.12.2006, 15:52:53
- - nospor   wyswietl sobie stworzone zapytanie: [PHP] pobierz,...   4.12.2006, 15:54:37


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: 8.10.2025 - 16:37