Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [PHP]Pomocy
Keno
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.07.2013

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


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. ?>
Go to the top of the page
+Quote Post
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Definiujesz $nick w pętli
Go to the top of the page
+Quote Post
Keno
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.07.2013

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


To jak to inaczej zrobić żeby działało?
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Rozumiem, że chcesz przedstawić wyniki w tabeli.
Więc wszystko powinno zawierać się w while
Go to the top of the page
+Quote Post
Keno
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.07.2013

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


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
Go to the top of the page
+Quote Post
Turson
post
Post #6





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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 (IMG:style_emoticons/default/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. ?>
Go to the top of the page
+Quote Post
Keno
post
Post #7





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 23.07.2013

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


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
Go to the top of the page
+Quote Post
Daiquiri
post
Post #8





Grupa: Administratorzy
Postów: 1 552
Pomógł: 211
Dołączył: 7.07.2009
Skąd: NJ




Keno, Temat: Jak poprawnie zatytulowac watek - zamykam.
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 18.09.2025 - 06:28