Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pomocy
Forum PHP.pl > Forum > Przedszkole
Keno
Pomocy, mam taki o to skrypt. I dlaczego on mi nie wyswietla nicku?

  1. $change = mysql_query("SELECT `name` FROM `players` WHERE `id` = `".$kill['player_id']."`");
  2. while ($row = mysql_fetch_array($change, MYSQL_ASSOC))
  3. {
  4. $nick = $row['name'];
  5. }


Coś jest źle z tym, ale nie wiem co. Proszę o pomoc.

  1. <?PHP
  2. $list = $SQL->query("SELECT `player_id`, `killer`, `level`, `time` FROM `deathlist` ORDER BY `time` DESC");
  3. $main_content.= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white><B><font CLASS=white><center>Name</center></B></TD><TD CLASS=white><B><font CLASS=white><center>Killed by</center></B></TD><TD CLASS=white><B><font CLASS=white><center>On Level</center></B></TD><TD CLASS=white><B><font CLASS=white><center>Date</center></B></TD></TR>';
  4. foreach($list as $kill)
  5. {
  6. //$nick = $SQL->query('SELECT `name` FROM `players` WHERE `id` = `'.$kill['player_id'].'` LIMIT 1;')->fetch();
  7. $change = mysql_query("SELECT `name` FROM `players` WHERE `id` = `".$kill['player_id']."`");
  8. while ($row = mysql_fetch_array($change, MYSQL_ASSOC))
  9. {
  10. $nick = $row['name'];
  11. }
  12. $kiedy = date("jS F Y H:i:s",(int) $kill['time']);
  13.  
  14. if(is_int($number_of_rows / 2)) {
  15. $bgcolor = $config['site']['lightborder'];
  16. } else {
  17. $bgcolor = $config['site']['darkborder'];
  18. }
  19. $number_of_rows++;
  20.  
  21. $main_content.= '<TR BGCOLOR="'.$bgcolor.'"><TD><a href="?subtopic=characters&name=test'.$nick.'"><center>'.$nick.'</center></a></TD><TD><center>'.$kill['killer'].'</center></TD><TD><center>'.$kill['level'].'</center></TD><TD><center>'.$kiedy.'</center></TD>';
  22. }
  23. $main_content .= '</TABLE>';
  24. ?>
Turson
Definiujesz $nick w pętli
Keno
To jak to inaczej zrobić żeby działało?
Turson
Rozumiem, że chcesz przedstawić wyniki w tabeli.
Więc wszystko powinno zawierać się w while
Keno
Tak, ale to jest osobne od tego:
  1. foreach($list as $kill)
  2. {


Ponieważ tamto wyświetla z innej tabeli, a to while zamienia ID gracza na jego nick który wyciąga z tabeli 'players'. Próbowałem na wszelkie sposoby, i nie wiem jak to zrobić ;D
Turson
Jeśli tutaj
  1. $change = mysql_query("SELECT `name` FROM `players` WHERE `id` = `".$kill['player_id']."`");

istnieje więcej niż 1 wynik to $nick nie będzie dobrze zdefiniowany

Spróbuj tego (ale nie jestem pewny czy dobrze smile.gif )
  1. <?PHP
  2. $list = $SQL->query("SELECT `player_id`, `killer`, `level`, `time` FROM `deathlist` ORDER BY `time` DESC");
  3. $main_content.= '<TABLE BORDER=0 CELLSPACING=1 CELLPADDING=4 WIDTH=100%><TR BGCOLOR='.$config['site']['vdarkborder'].'><TD CLASS=white><B><font CLASS=white><center>Name</center></B></TD><TD CLASS=white><B><font CLASS=white><center>Killed by</center></B></TD><TD CLASS=white><B><font CLASS=white><center>On Level</center></B></TD><TD CLASS=white><B><font CLASS=white><center>Date</center></B></TD></TR>';
  4. foreach($list as $kill)
  5. {
  6. //$nick = $SQL->query('SELECT `name` FROM `players` WHERE `id` = `'.$kill['player_id'].'` LIMIT 1;')->fetch();
  7. $change = mysql_query("SELECT `name` FROM `players` WHERE `id` = `".$kill['player_id']."`");
  8. while ($row = mysql_fetch_array($change, MYSQL_ASSOC))
  9. {
  10. $nick = $row['name'];
  11.  
  12. $kiedy = date("jS F Y H:i:s",(int) $kill['time']);
  13.  
  14. if(is_int($number_of_rows / 2))
  15. {
  16. $bgcolor = $config['site']['lightborder'];
  17. }
  18. else
  19. {
  20. $bgcolor = $config['site']['darkborder'];
  21. }
  22. $number_of_rows++;
  23.  
  24. $main_content.= '<TR BGCOLOR="'.$bgcolor.'"><TD><a href="?subtopic=characters&name=test'.$nick.'"><center>'.$nick.'</center></a></TD><TD><center>'.$kill['killer'].'</center></TD><TD><center>'.$kill['level'].'</center></TD><TD><center>'.$kiedy.'</center></TD>';
  25. }
  26. }
  27. $main_content .= '</TABLE>';
  28. ?>
Keno
Teraz nic nie wyświetla, nawet gdy dałem tak jak było wcześniej i wpisałem echo 'test';. Nie wiem jak to zrobić ;c
Daiquiri
Keno, Temat: Jak poprawnie zatytulowac watek - zamykam.
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.