Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][MySQL] Wyświetlanie rekordów.
Forum PHP.pl > Forum > Przedszkole
Divinity
Właśnie zacząłem pisać skrypt a'la dzienniczek ucznia. Jednak jak to zwykle ze mną bywa, mam problem już na samym początku. Bardzo bym Was prosił o pomoc. Z góry dziękuję. Do sedna:

Kod wygląda następująco:
  1. <?php
  2. $sql=mysql_connect($db_host, $db_user, $db_pass); 
  3. mysql_select_db($db_name, $sql);
  4. $sql=mysql_connect($db_host, $db_user, $db_pass); 
  5. mysql_select_db($db_name, $sql);
  6.  
  7. $plik=file("klasy.inc");
  8.  for($index=0; $index < count($plik); $index++) {
  9.  
  10. $zapytanie = "SELECT * FROM glowna WHERE klasa='$plik[$index]' ";
  11. $wykonaj = mysql_db_query ($db_name, $zapytanie, $sql);
  12.  
  13. echo "Klasa ".$plik[$index]."<br><br>";
  14. echo "
  15. <table border='1' cellspacing='3' cellpadding='3' bordercolorlight='#000000'><tr>
  16. <td align='center' bgcolor='#E0E0E0'><b>LP</b></td>
  17. <td align='center' bgcolor='#E0E0E0'><b>Imię</b></td>
  18. <td align='center' bgcolor='#E0E0E0'><b>Nazwisko</b></td>
  19. <td align='center' bgcolor='#E0E0E0'><b>Klasa</b></td></tr>";
  20.  
  21. while($wiersz=mysql_fetch_array ($wykonaj)) {
  22. echo " <tr>
  23. <td>".$wiersz['lp']."</td>
  24. <td>".$wiersz['nazwisko']."</td>
  25. <td>".$wiersz['imie']."</td>
  26. <td>".$wiersz['klasa']."</td>
  27. </tr><br><br>";
  28. }
  29. }
  30. ?>


Plik klasy.inc:
Kod
1a
1b
1c
1d


Wszystko wydaje się być - przynajmniej dla mnie - wykonane prawidłowo, jednak skrypt wybierając rekordy z bazy wyświetla je w poniższy sposób, wypisując tylko te, które posiadają wartość "1d".



W czym tkwi problem?

Z góry dziękuję za pomoc i pozdrawiam smile.gif
spryciula
a co masz w tabeli glowna??
Divinity
Tabela "glowna" zawiera kolumny: lp, nazwisko, imie, klasa, [poszczególne przedmioty...] oraz kilka rekordów przy czym na każdą klasę(1a, 1b, 1c, 1d) przypadają 3 rekordy.
nospor
http://pl.php.net/manual/pl/function.file.php
Cytat
Notatka: Każda linia w wynikowej tabeli będzie zawierać znak(i) końca linii, jeśli nie chcesz ich musisz uzyć rtrim().

I wszystko jasne smile.gif

ps: jesli jednak nie jest wszystko jasne, polecam przeczytac to kilka razy i porobic pare eksperymentow smile.gif
Divinity
Niestety nadal sobie nie mogę z tym poradzić sad.gif Czy mógłbyś mi pokazać w jaki sposób zmodyfikować ten kod, aby działał zgodnie z zamierzeniem.

Pozdrawiam
nospor
zgodnie z tym co napisane w manualu, musisz sie pozbyc tego entera (znaku konca linii) poprzez uzycie rtrim:
  1. <?php
  2. for($index=0; $index < count($plik); $index++) {
  3. $kl = rtrim($plik[$index]);
  4. $zapytanie = "SELECT * FROM glowna WHERE klasa='$kl' ";
  5. //....
  6. }
  7. ?>
Divinity
Dzięki wielkie mistrzu. Teraz wszystko działa tak jak powinno 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.