Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Problem z wyświetlaniem danych
mczlowiek
post 16.07.2008, 11:43:45
Post #1





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

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


mam taki problem, uzywając takiego kodu:
Kod PHP
  1. <?php
  2. mysql_query("set names utf8");
  3. $sql = "SELECT * FROM kraje, ligi Where kraje.id_kraj=ligi.id_kraj ORDER BY kraje.k
    raj DESC "
    ;
  4. $wynik = mysql_query($sql) or die(mysql_error());
  5. while($w = mysql_fetch_assoc($wynik)){
  6. echo('<table width="480">');
  7. echo('<tr>');
  8. echo('<td width="130">'.$w['kraj'].'</td>');
  9. echo('<td width=350>');
  10. echo('<a href="index.php?id=bukmacherzy&id_liga='.$w['id_liga'].'">'.$w['liga'].'</a>');
  11. echo('</td>');
  12. echo('</tr>');
  13.  
  14. echo('<tr>');
  15. echo('<td colspan="4" background="../images/tlo_newsy_linia.gif"></td>');
  16. echo('</tr>');
  17.  
  18. echo('</table>');}
  19. ?>

dostaję taki oto wynik (po pobraniu danych z bazy danych):
Włochy.............serie A
------------------------(to jest linia ktora jest w kodzie)
Włochy.............serie B
------------------------
Polska.............ekstraklasa
------------------------
Polska.............II liga
------------------------

a jak napisać kody aby wyglądalo to tak:

Włochy.................serie A
...........................serie B
--------------------------
Polska.............ekstraklasa
.............................II liga
--------------------------
itd

z góry dziękuje za pomoc

.

Ten post edytował mczlowiek 16.07.2008, 11:12:21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
kaem
post 16.07.2008, 11:54:05
Post #2





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Łopatologicznie to ja bym to zrobił tak:
  1. <?php
  2. $wynik = mysql_query($sql) or die(mysql_error());
  3. $zm = NULL;
  4. while($w = mysql_fetch_assoc($wynik)){
  5.  echo('');
  6.  echo('');
  7.  if($w['kraj'!=$zm]){
  8.  echo(''.$w['kraj'].'');
  9.  }
  10.  echo('');
  11.  echo('<a href=\"index.php?id=bukmacherzy&id_liga='.$w['id_liga'].'\">'.$w['liga'].'');
  12.  echo('');
  13.  echo('');
  14. </a href=&#092;"index.php?id=bukmacherzy&id_liga='.$w['id_liga'].'\"> if($w['kraj'!=$zm]){
  15. <a href=&#092;"index.php?id=bukmacherzy&id_liga='.$w['id_liga'].'\"> echo('');
  16. ?>


Ten post edytował kaem 16.07.2008, 12:00:10
Go to the top of the page
+Quote Post
mczlowiek
post 16.07.2008, 12:00:42
Post #3





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

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


niestety nic sie nie wyswietla...
Go to the top of the page
+Quote Post
kaem
post 16.07.2008, 12:02:20
Post #4





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


Trochę namieszałem wcześniej. Spróbuj może tak:
  1. <?php
  2. mysql_query("set names utf8");
  3. $sql = "SELECT * FROM kraje, ligi Where kraje.id_kraj=ligi.id_kraj ORDER BY kraje.k
    raj D
  4. SC ";
  5. $wynik = mysql_query($sql) or die(mysql_error());
  6.  $zm="";
  7. while($w = mysql_fetch_assoc($wynik)){
  8. echo('<table width="480">');
  9. echo('<tr>');
  10. if($w['kraj']!=$zm)
  11. echo('<td width="130">'.$w['kraj'].'</td>');
  12. echo('<td width=350>');
  13. echo('<a href="index.php?id=bukmacherzy&id_liga='.$w['id_liga'].'">'.$w['liga'].'</a>');
  14. echo('</td>');
  15. echo('</tr>');
  16. if($w['kraj']!=$zm){
  17. echo('<tr>');
  18. echo('<td colspan="4" background="../images/tlo_newsy_linia.gif"></td>');
  19. echo('</tr>');
  20. $zm=$w['kraj'];
  21.  }
  22. echo('</table>');
  23. }
  24. ?>


Ten post edytował kaem 16.07.2008, 12:07:28
Go to the top of the page
+Quote Post
mczlowiek
post 16.07.2008, 12:20:52
Post #5





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

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


wyswietka tylko
.$w['liga'].
a w pierwszej <td> gdzie powinien pojawić się kraj nic nie pokazuje, nic sie nie wyswietla

i linia takze sie nie wysietla, w wyniku tego kodu dostalem tylko liste lig:
serie a
serieb
ekstraklasa
itd
Go to the top of the page
+Quote Post
kaem
post 16.07.2008, 14:23:56
Post #6





Grupa: Zarejestrowani
Postów: 248
Pomógł: 38
Dołączył: 29.06.2008

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


No dziwne tiredsmiley.gif Jak dla mnie warunek if ma wartość true przynajmniej w 1 iteracji pętli więc powinno wyświetlić kraj. Może ktoś inny pomoże? Bo też chętnie bym zobaczył prawidłowe rozwiązanie.
Go to the top of the page
+Quote Post
mczlowiek
post 17.07.2008, 12:24:09
Post #7





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

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


Ponawiam pytanie.

tak jak napisałem w pierwszym poscie chce zrobic cos takiego, taką tabelkę:

+--------------------------------------
|kraj........|..............liga1.....|
|.............|..............liga2.....|
|.............|..............liga3.....|
----------------------------------------

i tak dalej, bo teraz to wygląda tak:

+--------------------------------------
|kraj........|..............liga1.....|
|kraj.........|..............liga2.....|
|kraj.........|..............liga3.....|
----------------------------------------

i oto mi chodzi, żeby w taki a nie inny sposób to wyświetlalo.
Proszę o pomoc

ok, już mam, jeśli komus sie przyda to proszę bardzo:
  1. <? 
  2. [url="http://pl2.php.net/mysql_query"]mysql_query[/url]("set names utf8");
  3. $sql = "SELECT * FROM kraje, ligi Where kraje.id_kraj=ligi.id_kraj ORDER BY kraje.k
    raj DESC "
    ;
  4. $wynik = [url="http://pl2.php.net/mysql_query"]mysql_query[/url]($sql) or die([url="http://pl2.php.net/mysql_error"]mysql_error[/url]());
  5. $zm="";
  6. echo '<table width="480">';
  7. while($w = [url="http://pl2.php.net/mysql_fetch_assoc"]mysql_fetch_assoc[/url]($wynik)){
  8.  
  9.  
  10.  if($w['kraj']!=$zm){
  11.  echo'<tr> 
  12. <td colspan="4" background="../images/tlo_newsy_linia.gif"></td> 
  13. </tr>'; 
  14. }
  15.  
  16. echo'<tr> 
  17.  <td width="130">'; 
  18.  
  19. if($w['kraj']!=$zm){ 
  20.  echo $w['kraj']; 
  21.  $zm=$w['kraj'];
  22.  }else{ 
  23.  echo '&nbsp'; 
  24.  } 
  25.  
  26. echo '</td> 
  27. <td width=350> 
  28. <a href="index.php?id=bukmacherzy&id_liga='.$w['id_liga'].'">'.$w['liga'].'</a> 
  29. </td> 
  30. </tr>';
  31.  
  32. }
  33. echo'</table>';
  34. ?>
Go to the top of the page
+Quote Post
Piotrwusek
post 17.07.2008, 12:32:03
Post #8





Grupa: Zarejestrowani
Postów: 399
Pomógł: 7
Dołączył: 11.06.2007
Skąd: Poznan

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


zamiast zmiennej zm użyj empty()" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
mczlowiek
post 18.07.2008, 11:13:32
Post #9





Grupa: Zarejestrowani
Postów: 210
Pomógł: 0
Dołączył: 26.05.2008

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


mozna powiedzieć , że wszystko dizła tak jak powinno, z tą tylko różnicą , że tabela której kod za chwile podam nie wyświetla mi danych, do których nie ma przypisanych żadnych wartości, itak przykladowo jak mam w tabeli kluby, przykladowo:
barcelona
real
sevilla
i w tabeli zawodnicy mam zawodnika przyporządkowanego na fc barcelonie to w wyniku ponizszego kodu otrzymam tylko:
fcbarcelona zawodnik
a chce zeby bylo to tak wyswieltane:
fcbatrcelona zawodnik
real
sevilla

  1. <?php
  2. if($_GET['id_liga']){
  3. mysql_query("set names utf8"); 
  4. $sql = "SELECT * FROM kluby, zawodnicy Where kluby.id_klub=zawodnicy.id_klub AND id
    _liga='"
    .$_GET['id_liga']."' ORDER BY kluby.klub "; 
  5. $wynik = mysql_query($sql) or die(mysql_error()); 
  6. $zm=""; 
  7. echo '<table width="480">'; 
  8. while($w = mysql_fetch_assoc($wynik)){ 
  9.  
  10.  
  11.  if($w['klub']!=$zm){ 
  12.  echo'<tr>
  13. <td colspan="4" background="../images/tlo_newsy_linia.gif"></td>
  14. </tr>';
  15. } 
  16.  
  17. echo'<tr>
  18.  <td width="130">';
  19.  
  20. if($w['klub']!=$zm){
  21.  echo ('<font face=verdana size =2 color=navy><b>'.$w['klub'].'</b></font>');
  22.  $zm=$w['klub']; 
  23.  }else{
  24.  echo '&nbsp';
  25.  }
  26.  
  27. echo '</td>
  28. <td width=350><img src="images/listarrow.jpg"> '.$w['nazw'].' '.$w['imie'].'
  29. </td>
  30. </tr>'; 
  31.  
  32. } 
  33. echo'</table>';
  34.  
  35. }
  36. ?>

proszę o pomoc

struktura tabeli:

KLUBY --> id_klub | id_liga | klub
ZAWODNICY --> id_zawodnik | id_klub | nazw | imie

kluby.id_klub=zawodnicy.id_klub
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:36