Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlenie danych ograniczonych daną z formularza
Forum PHP.pl > Forum > Bazy danych > MySQL
Poper
Witam
Czy ktoś może mi pomóc? Potrzebuje wyświetlić tylko te rekordy które będą spełniały zadany warunek który musze wprowadzić np za pomocą pola tekstowego i chce aby była możliwość wpisania albo wybrania jakiegoś koloru i w tabeli pojawią się tylko koty tylko o tym kolorze.
Wiem, że problem dość banalny ale nie potrafię znaleźć odpowiedzi, dziękuje z gry za pomoc.

http://www.tspb.net/poper/koty.php

  1. <?php
  2. mysql_connect ("localhostl", "", "") or die ("Nie można połączyć się z MySQL");
  3. mysql_select_db ("poper") or die ("Nie można połączyć się z bazą poper");
  4.  
  5. $wynik = mysql_query ("SELECT * FROM koty WHERE kolor_k='$podajkolor';") or die ("błąd w pytaniu");
  6.  [b] print "Podaj kolor kota" $podajkolor = ...;[/b]
  7.  
  8. print "<TABLE CELLPADDING=4 BORDER=1>";
  9. print "<TR><TD><B>Imię kota</B></TD><TD><B>Rasa</B></TD><TD><B>Kolor</B></TD><TD><B>Nazwisko właściciela</B></TD></TR>";
  10.  
  11. while ($rekord = mysql_fetch_array ($wynik)) {
  12. $nazwa_k = $rekord[1];
  13. $rasa_k = $rekord[2];
  14. $kolor_k = $rekord[3];
  15. $nazwisko_w = $rekord[4];
  16.  
  17. print "<TR><TD>$nazwa_k</TD><TD>$rasa_k</TD><TD>$kolor_k</TD><TD>$nazwisko_w</TD></TR>";
  18. }
  19. print "</TABLE>";
  20. ?>
myth
  1. <b>Podaj kolor kota:</b><br />
  2. <form action="koty.php" method="post">
  3. <input type="text" name="kolor" />
  4. <input type="submit" value="Pokaz"/>
  5. </form>
  6.  
  7. <?php 
  8. mysql_connect ("localhostl", "", "") or die ("Nie można połączyć się z MySQL");
  9. mysql_select_db ("poper") or die ("Nie można połączyć się z bazą poper");
  10.  
  11. if(isset($_POST['kolor']))
  12. {
  13. $kolor = $_POST['kolor'];
  14. $zapytanie = "SELECT * FROM koty WHERE kolor_k='".$kolor."' ";
  15. $wynik = mysql_query ($zapytanie) or die ("błąd w pytaniu");
  16.  
  17. print "<TABLE CELLPADDING=4 BORDER=1>";
  18. print "<TR><TD><B>Imię kota</B></TD><TD><B>Rasa</B></TD><TD><B>Kolor</B></TD><TD><B>Nazwisko właściciela</B></TD></TR>";
  19.  
  20. while ($rekord = mysql_fetch_array ($wynik)) 
  21. {
  22. $nazwa_k = $rekord[1];
  23. $rasa_k = $rekord[2];
  24. $kolor_k = $rekord[3];
  25. $nazwisko_w = $rekord[4];
  26.  
  27. print "<TR><TD>".$nazwa_k."</TD><TD>".$rasa_k."</TD><TD>".$kolor_k."</TD><TD>".$nazwisko_w."</TD></TR>";
  28. }
  29. print "</TABLE>";
  30. }
  31.  
  32. ?>
Poper
dziękuje Ci bardzo!

w tym samym czasie doszedłem do czegoś podobnego:
  1. <?php
  2. $wynik = mysql_query ("SELECT * FROM koty WHERE kolor_k='$a';") or die ("błąd w pytaniu");
  3.  
  4. print ("Podaj kolor kota: <br>");
  5. print '<FORM ACTION="koty.php" METHOD=GET>';
  6. print '<INPUT TYPE="text" NAME="a"><BR>';
  7. print '<INPUT TYPE="submit" VALUE="szukaj kota">';
  8. print '</FORM>';
  9. ?>

jednak jest mały błąd, chyba w pętli while bo po wspisaniu czarny lub szary ostatnie 2 wspisy się powtarzają

  1. <?php
  2. while ($rekord = mysql_fetch_array ($wynik)) {
  3. ?>

czy czegoś tu brakuje?
Poper
ok poradziłęm sobie... wszytsko guitar.gif

dzięki jescze raz!!
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.