Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] Mały problem z wyświetlaniem danych
Forum PHP.pl > Forum > Przedszkole
Marek1987
Chce wyświetlić terminarz ligowy w taki sposób

1. Kolejka
(mecz 1 kolejki)
(mecz 1 kolejki)

2. kolejka
(mecz 1 kolejki) itd.

Jednak wpisując poniższy kod, dostaje coś takiego:
. kolejka
i pod tym lista wszystkich spotkań

  1. <?php
  2. if(mysql_num_rows($terminarz) > 0) {
  3. echo "<table width=500 cellspacing=0 cellpadding=0 border=1>";
  4. echo "<tr bgcolor=#971515><td colspan=5 align=center><font color=white>".$r['kolejka'].". kolejka</font></td></tr>";
  5. while($r = mysql_fetch_assoc($terminarz)) {
  6. echo "<tr align=center>";
  7. echo "<td width=100>".$r['kiedy']."</td>";
  8. echo "<td align=right width=140>".$r['klub1']."</td>";
  9. echo "<td width=20>-</td>";
  10. echo "<td align=left width=140>".$r['klub2']."</td>";
  11. echo "<td width=100><a href=\"mecz.php?id={$r['id']}\">".$r['pkt1']." : ".$r['pkt2']."</a></td>";
  12. echo "</tr>";
  13. }
  14. echo "</table>";
  15. }
  16. ?>


Proszę o pomoc!
.radex
3 linijka - skąd wziełeś $r ?

po za tym:

zamiast

while($r = mysql_fetch_assoc($terminarz)) {

dajesz

while($r = mysql_fetch_object($terminarz)) {

i wtedy zamiast $r['klub1'] będzie $r->klub1

proste, wygodne i powino dzialac tongue.gif
Marek1987
No ale to nic nie zmienia! Dalej ten problem pozostaje...
Jerem!asz
najłatwiej to Ci bedzie to zrobic na zasadzie dwoch petli while, w pierwszej sprawdzasz jaka to kolejka i wyswietlasz mecze gdzie masz zapisana pierwsza kolejke, nastepnie sprawdzasz druga kolejke itd itd.
gutek84
Masz błąd w skłądni! W lini 3 masz $r['kolejka'], a pozniej
while($r=... . $r['kolejka'] jest pusty poniewaz $r występuje przed petlą while i nie jest wypełniany!

  1. <?php
  2. if(mysql_num_rows($terminarz) > 0) {
  3. $r = mysql_fetch_array($terminarz,MYSQL_ASSOC)//$r staje sie tablica
  4. $ile=count($r);
  5. echo "<table width=500 cellspacing=0 cellpadding=0 border=1>";
  6. for($i=0;$i<$ile;$i++){
  7. $kol=$r['kolejka'][$i]
  8. if ($kol!=$r['kolejka'][$i+1]){
  9.  
  10. echo "<tr bgcolor=#971515><td colspan=5 align=center><font color=white>".$r['kolejka'][$i].". kolejka</font></td></tr>";
  11. }else{
  12. echo "<tr align=center>";
  13. echo "<td width=100>".$r['kiedy'][$i]."</td>";
  14. echo "<td align=right width=140>".$r['klub1'][$i]."</td>";
  15. echo "<td width=20>-</td>";
  16. echo "<td align=left width=140>".$r['klub2'][$i]."</td>";
  17. echo "<td width=100><a href=\"mecz.php?id={$r['id']}\">".$r['pkt1'][$i]." : $r['pkt2'][$i]."</a></td>";
  18. echo "</tr>";
  19.  
  20.  
  21. }}
  22. echo "</table>";
  23. ?>


Sprawdzasz czy pole kolejka w tablicy jest rozne od nastepnego pola to wtedy wypisz $r['kolejka'].kolejka,w przeciwnym wypadku jesli sa takie same to bedzie omijalo ten kawalek kodu. Nie wiem dokladnie czy o to chodziloale spróbuj moze to, popraw błędy i wyswietlanie.
Jak beda bledy to zamien jeszcze np $r['pkt1'][$i] na $r[$i]['pkt1'] dla wszystkich pol([$i]['nazwa_kolumny'])
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.