Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie danych z tabeli
Forum PHP.pl > Forum > Gotowe rozwiązania
huka
Napisałem skrypt który wyciąga dane z tabeli i wszystko dobrze działa. Błąd polega na tym że chciałbym wyświetlac odpowiednie dane a nie wszystkie jednocześnie. Do tej pory po wpisaniu jakiegokolwiek słowa wyświetlane są wszystkie dane jakie znajdują się w tabeli. Chcę napisać taki skryp który po wpisaniu np. imienia Marek wyświetli tylko osoby o tym imieniu.
Skryp wygląda nastepująco:
  1. <?php
  2.  
  3. $db_name = &#092;"praca\";
  4. $con = mysql_connect(&#092;"localhost\") or die(\"Blad otwarcia bazy\");
  5. $db = mysql_select_db($db_name, $con) or die(&#092;"Otwarcie tabeli nie powiodło się\");
  6. $sql = &#092;"select * from Studenci\";
  7. $result = mysql_query($sql, $con) or die(&#092;"Błąd połączenia\");
  8. print &#092;"<center>\";
  9.  
  10. print &#092;"<table border=1>\";print \"<tr><td><b>ID</b></td><td><b>Imie</b></td><td><b>Nazwisko</b></td><td><b>Nr indeksu</b></td><td><b>Rok studiów</b></td><td><b>Email</b></td><td><b>Edycja</b></td><td><b>Usuń</b></td></tr>\";
  11. while ($record = mysql_fetch_array($result)){$ID_studenta = $record[0];$Imie = $record[2];$Nazwisko = $record[3];$Nr_indeksu = $record[4];$Rok_studiow = $record[5];$Email = $record[6];
  12. print &#092;"<tr><td>$ID_studenta</td><td>$Imie</td><td>$Nazwisko</td><td>$Nr_indeksu</td><td>$Rok_studiow</td><td>$Email</td><td><a href=\"modyfikuj_studenta.php?stan=modyf&ID_studentamodyf= $record[0]\\">Edytuj</a></td><td><a href=\"wy_studentow.php?stan=del&ID_studentadel= $record[0]\">Usuń</a></td>\";
  13. #print \"</table>\";
  14. #echo \"<form>
  15. #<input type='text' name='ID_studenta' size='10' value='\",$record['0'],\"'>
  16. #<input type='text' name='Imie' size='10' value='\",$record['2'],\"'>
  17. #<input type='text' name='Nazwisko' size='10' value='\",$record['3'],\"'>
  18. #<input type='text' name='Nr_indeksu' size='15' value='\",$record['4'],\"'>
  19. #<input type='text'name='Rok_studiow' size='15' value='\",$record['5'],\"'>
  20. #<input type='text' name='Email' size='15' value='\",$record['6'],\"'>
  21. #echo \"></form>\";
  22. #echo \"<br/>\";
  23. }
  24. print &#092;"</center>\";
  25. if($stan=='del') {
  26. $zapytanie2=&#092;"DELETE FROM Studenci WHERE ID_studenta=$ID_studentadel\";
  27. $wynik2 = mysql_query($zapytanie2);
  28. echo &#092;"Rekord o id=$ID_studentadel został skasowany !\";
  29. }
  30. else {
  31. }
  32.  
  33. ?>


jeżeli znaleźliście błąd to napiszcie w którym miejscu.
Droopy
jak nie chcesz wyświetlć wszystkiego, to musisz inaczej sformułować zapyanie do bazy, czyli to &sql

zrób sobie formularzgdzie będzie pole imie_szukane, a zapytanie zmodyfikuj tak:
  1. <?php
  2.  
  3. $sql = &#092;"select * from Studenci where imie = '$imie_szukane'\";
  4.  
  5. ?>


lub tak:

  1. <?php
  2.  
  3. $sql = &#092;"select * from Studenci where imie like '%$imie_szukane%'\";
  4.  
  5. ?>


daje to trochę inne wyniki
huka
a jak zrobić żeby wyswietlało dane po wpisaniu imienia i nazwiska?
Droopy
nie wiem czy cie dobrze rozumiem, ale chba chodzi ci o dwa warunki w wyszukiwaniu

po prostu dodajesz AND i drugi warunek, albo OR (chyba wiesz czym to się różni winksmiley.jpg )

  1. SELECT * FROM Studenci WHERE imie = '$imie szukane' AND nazwisko = '$nazwisko szukane'
huka
Ok dzięki już wiem o co chodzi.
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.