Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] pomoc z odczytaniu z bazy
-swinia-
post
Post #1





Goście







witam,
tworze wyszukiwarke w PHP i mam problem z odczytaniem danych z bazy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  4. <meta name="Description" content=" Jest to strona o Mario Puzo ">
  5. <meta name="Keywords" content=" Mario, Puzo ">
  6. <meta name="Author" content=" Piotr Świniarski ">
  7. <title> Sklep z artykułami sportowymi </title>
  8. <link rel="stylesheet" href="style.css" type="text/css">
  9. </head>
  10. <body>
  11. <a name="gora"></a>
  12. <table border width="700" align="center" cellspacing="0" cellpadding="0" summary="0"
  13. <tbody>
  14. <tr>
  15. <td height="100" bgcolor="silver" colspan="2"><img src="logo.gif" alt="" width="700" height="100"></td></tr>
  16. <tr>
  17. <td width="175" valign="top">
  18. <!-- MENU --><br>
  19. <a target="_blank" href="index.php">Główna</a><br><br>
  20. <a target="_blank" href="rejestracja.php">rejestracja</a><br><br>
  21. <form action="rezultaty.php" method="post">
  22. Wybierz metodę wyszukiwania<br />
  23. <select name="metoda szukania">
  24. <option value="producent">producent
  25. <option value="rozmiar">rozmiar
  26. <option value="rodzaj">rodzaj
  27. </select><br />
  28. Wprowadź wyrażenie<br />
  29. <input name="wyrazenie" type="text"><br />
  30. <input type="submit" value="Szukaj">
  31. </form>
  32.  
  33. </td>
  34. <td valign="top">
  35. <center>
  36. <h1>Sklep sportowy - wyniki wyszukiwania</h1>
  37. <?php
  38. $metoda_szukania=$_POST["metoda_szukania"];
  39. $wyrazenie=$_POST["wyrazenie"];
  40.  
  41. $wyrazenie=trim($wyrazenie);
  42.  
  43. if(!$metoda_szukania || !$wyrazenie)
  44. {
  45. echo "Brak parametrów wyszukiwania";
  46. }
  47. {
  48. $metoda_szukania = addslashes($metoda_szukania);
  49. $wyrazenie = addslashes($wyrazenie);
  50. }
  51. mysql_connect ("localhost","root","")or die("Nie można się połączyć. Komunikat: ".mysql_error()."; Numer błędu: ".mysql_errno());
  52.  
  53.  $sql = mysql_select_db("sklepsportowy") or die("Nie można pobrać".mysql_error()."; Numer błędu: ".mysql_errno());
  54. $zapytanie ="select producent, rodzaj, rozmiar from opis_towaru where" .$metoda_szukania =$wyrazenie;
  55. $wynik=mysql_query($zapytanie)or die("Błąd w zapytaniu");
  56.  
  57. $ile_znalezionych = $wynik;
  58.  
  59. echo "Ile Znalezionych:" .$ile_znalezionych. "<br /><br />";
  60.  
  61. for($i=0; $i<$wynik; $i++)
  62. {
  63. $wiersz=mysql_fetch_assoc($wynik);
  64. echo '<br />'.($i+1).'.<b>producent</b><br />';
  65. echo stripslashes($wiersz['producent']);
  66. echo '<br /><b>rozmiar</b><br />';
  67. echo stripslashes($wiersz['rozmiar']);
  68. echo '<br /><b>rodzaj</b><br />';
  69. echo stripslashes($wiersz['rodzaj']);
  70. }
  71.  
  72.  
  73. ?>
  74.  
  75.  
  76. </center>
  77. </td>
  78. </tr>
  79. <tr><td colspan="2">Piotr Świniarski (c)2008</td></tr>
  80. </table>
  81.  
  82. </body>
  83. </html>







błąd jest napewno w tej linijce
$zapytanie ="select producent, rodzaj, rozmiar from opis_towaru where" .$metoda_szukania =$wyrazenie;
wiem, ze nie powinno tam być znaku =, ale jak tego nie wstawiłem to wyskakiwał mi błąd w zapytaniu
a teraz wyrzuca mi całą zawartość z tabeli, bez rozróżniania tego co zostało wpisane w wyszukiwarce.

z gory dzieki za podpowiedz.
Powód edycji: Poprawiłem tag oraz bbcode. /webdicepl
Go to the top of the page
+Quote Post
xbigos
post
Post #2





Grupa: Zarejestrowani
Postów: 239
Pomógł: 27
Dołączył: 13.07.2005
Skąd: Jarocin

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


  1. $zapytanie ="select producent, rodzaj, rozmiar from opis_towaru where ".$metoda_szukania."='$wyrazenie'";


spróbuj tak.

Ten post edytował xbigos 29.05.2008, 08:27:51
Go to the top of the page
+Quote Post
-Swinia-
post
Post #3





Goście







No elegancko wszystko poszło.
Wielkie dzięki. Ale jeszcze mam problem ze zmienną $ile_znalezionych
zamiast podać prawdziwą wartość, wyskakuje mi coś takiego "Resource id #3"
Go to the top of the page
+Quote Post
graveozz
post
Post #4





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

Ostrzeżenie: (10%)
X----


Zrób tak i powinno pomóc.
  1. <?php
  2. $ile_znalezionych=mysql_num_rows ($wynik);
  3. ?>
Go to the top of the page
+Quote Post
-Swinia-
post
Post #5





Goście







wielki dzieki zadziałało.
i teraz jeszcze jedno, narazie ostatnie pytanie, mianowicie.
Bez względu ile produktów znajdzie, zawsze wyświetla przynajmiej 3 pola. jak znajdzie 2 to jedno zostaje puste.
troche zamąciłem, ale pokaże na zdjeciu

http://www.fotosik.pl/pokaz_obrazek/5e44cf30acc5feb9.html

podejrzewam, że chodzi tu o pętle for ale dokładnie nie wiem o co.
Go to the top of the page
+Quote Post
graveozz
post
Post #6





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

Ostrzeżenie: (10%)
X----


Zamiast
  1. <?php
  2. for($i=0; $i<$wynik; $i++)
  3. ?>

daj
  1. <?php
  2. for($i=0; $i<$ile_znalezionych; $i++)
  3. ?>

i będzie ok.
Go to the top of the page
+Quote Post
-Swinia-
post
Post #7





Goście







A jakbym chciał teraz zrobić przycisk "zakup" po każdym znalezionym produkcie, to zwykłym przyciskiem z html-a da radę??
Go to the top of the page
+Quote Post
graveozz
post
Post #8





Grupa: Zarejestrowani
Postów: 41
Pomógł: 1
Dołączył: 28.03.2008
Skąd: Kielce

Ostrzeżenie: (10%)
X----


Submit podparty odpowiednim kodem PHP powinien załatwić sprawę.

Ten post edytował graveozz 30.05.2008, 12:10:55
Go to the top of the page
+Quote Post
-Swinia-
post
Post #9





Goście







zrobiłem już przycisk ale coś nie mogę dla niego ustawić akcji??
może jakaś mała podpowiedź jakich funkcji mam użyć??
Go to the top of the page
+Quote Post
-Swinia-
post
Post #10





Goście







Dobra już sobie poradziłem, dzieki za wszystko
Go to the top of the page
+Quote Post
-Swinia-
post
Post #11





Goście







już teraz naprawdę ostatnie pytanie.
Mam na swojej stronce przycisk kup, po którym nacisnięciu
pojawia się strona do zlozenia zamowienia.
i tu pytanie, co muszę zmienić w tych 2 kodach, żeby po naciśnięciu przycisku kup
w formularzu pojawiły już się wartości takie, przy którym naciśnięto przycisk kup.
Np. Producent: Adidas
Rodzaj: Koszulka
Kup
Naciskamy kup i w formularzu pojawiają się takie dane.
Jeśli w ogóle jest to wykonalne??

  1. <?php
  2. $metoda_szukania=$_POST["metoda_szukania"];
  3. $wyrazenie=$_POST["wyrazenie"];
  4.  
  5. $wyrazenie=trim($wyrazenie);
  6.  
  7. if(!$metoda_szukania || !$wyrazenie)
  8. {
  9. echo "Brak parametrów wyszukiwania";
  10. }
  11. {
  12. $metoda_szukania = addslashes($metoda_szukania);
  13. $wyrazenie = addslashes($wyrazenie);
  14. }
  15. mysql_connect ("localhost","root","")or die("Nie można się połączyć. Komunikat: ".mysql_error()."; Numer błędu: ".mysql_errno());
  16.  
  17. $sql = mysql_select_db("sklepsportowy") or die("Nie można pobrać".mysql_error()."; Numer błędu: ".mysql_errno());
  18. $zapytanie ="select producent, rodzaj, rozmiar from opis_towaru where ".$metoda_szukania."='$wyrazenie'";
  19. $wynik=mysql_query($zapytanie)or die("Błąd w zapytaniu");
  20.  
  21. $ile_znalezionych = mysql_num_rows($wynik);
  22.  
  23. echo "Ile Znalezionych:" .$ile_znalezionych. "<br /><br />";
  24.  
  25. for($i=0; $i<$ile_znalezionych; $i++)
  26. {
  27. $wiersz=mysql_fetch_assoc($wynik);
  28. echo '<br />'.($i+1).'.<b>producent</b><br />';
  29. echo stripslashes($wiersz['producent']);
  30. echo '<br /><b>rozmiar</b><br />';
  31. echo stripslashes($wiersz['rozmiar']);
  32. echo '<br /><b>rodzaj</b><br />';
  33. echo stripslashes($wiersz['rodzaj']);
  34.  
  35. echo '<br />
  36. <form action="zloz_zamowienie.php" method="post">
  37. <input "type="submit" value="Kup" /></form>';
  38. }
  39.  
  40. ?>

  1. <?php
  2.  
  3.  
  4. echo ';<form action="dodaj_zamowienie.php" method=post>
  5. <table align="center" border="1" summary="Ankieta o pisarzu">
  6. <tr>
  7. <td>
  8. Producent
  9. </td>
  10. <td>
  11. <input type="text" name="$_producent" size="20">
  12. </td>
  13. </tr>
  14. <tr>
  15. <td>
  16. Rodzaj
  17. </td>
  18. <td>
  19. <input type="text" name="rodzaj" size="20">
  20. </td>
  21. </tr>
  22. <tr><td>
  23. <input type="submit" value="Wyslij">
  24. <input type="reset" value="Reset">
  25. </td>
  26. </tr>
  27. </table>
  28. </form>';
  29.  
  30. ?>
Go to the top of the page
+Quote Post
-Swinia-
post
Post #12





Goście







Nie chodzi mi o gotowe rozwiązania, tylko jakieś podpowiedzi jak to zrobić.
Myśle jak przypisać wartości pobrane po nacisnieciu przycisku kup(i jak przycisk kup, ma je pobrać),do formularza
Go to the top of the page
+Quote Post

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: 23.08.2025 - 13:56