• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Błąd: Undefined variable

VPS Starter Arubacloud
0 głosów
847 wizyt
pytanie zadane 31 maja 2017 w PHP przez Mateusz Arabczyk Początkujący (450 p.)

Witam napotkałem taki błąd i nie wiem jak go naprawić. Pomożecie?

Notice: Undefined variable: guildTableTr in D:\X\X\X\htdocs\Strona\functions.php on line 62

Notice: Undefined variable: playerTableTr in D:\X\X\X\htdocs\Strona\functions.php on line 27

 

/* Top 10 graczy */
function getTopPlayers() {
	global $db, $prefix;

  $playerRanking = $db->fetch_all('SELECT * FROM '.$prefix.'users ORDER BY POINTS DESC LIMIT 10');
	if($playerRanking) {
	  foreach($playerRanking as $player) {
		$playerTableTr .= '<tr>
                <td><img src="https://minotar.net/avatar/'.$player['NAME'].'/20"></td>
                <td><a href="panel/'.$player['NAME'].'">'.$player['NAME'].'</a></td>
                <td>'.$player['KILLS'].'</td>
                <td>'.$player['POINTS'].'</td>
            </tr>'; //TU JEST NIBY BŁĄD <-------------
	  }

	  $playerTable = '<table class="table table-striped"><thead><tr><th class="text-center">#</th><th class="text-center">Gracz</th><th class="text-center">Zabicia</th><th class="text-center">Punkty</th> </tr></thead><tbody>'.$playerTableTr.'</tbody></table>';
	  return $playerTable;
	}
}

/* TOP 10 gildii */
function getTopGuilds() {
	global $db, $prefix;

	$guilds = $db->fetch_all('SELECT * FROM '.$prefix.'guilds ORDER BY PVP DESC LIMIT 10');
	if($guilds) {
	  foreach($guilds as $n => $guild) {
    $guildAll = $db->fetch('SELECT PVP,MEMBERS FROM '.$prefix.'guilds  WHERE tag=?', array($guild['TAG']));
    $guildAll['WAR'] = count(explode(',', $guildAll['MEMBERS']));
		$guilds[$n]['PVP'] = round($guildAll['PVP']);
	  }

	  usort($guilds, function($a, $b) {
		return $a['PVP'] - $b['PVP'];
	  });

	  $guilds = array_reverse($guilds);

	  $n = 1;
	  foreach($guilds as $guild) {
		if($n > 10) break;

		$guildTableTr .= '<tr>
                <td><img src="https://minotar.net/avatar/'.$guild['OWNER'].'/20"></td>
                <td><a href="gildia/'.$guild['NAME'].'">'.$guild['NAME'].'</a></td>
                <td>'.$guild['PVP'].'</td>
            </tr>'; //TU JEST NIBY BŁĄD <-------------
		$n++;
	  }

	  $guildTable = '<table class="table table-striped"><thead><tr><th class="text-center">#</th><th class="text-center">Gildia</th><th class="text-center">PKT. Gildii</th></tr></thead><tbody>'.$guildTableTr.'</tbody></table>';
	  return $guildTable;
	}
}

 

1 odpowiedź

0 głosów
odpowiedź 31 maja 2017 przez Chess Szeryf (76,710 p.)
edycja 31 maja 2017 przez Chess

Nie możesz do funkcji mysqli_fetch_all dać zapytanie SQL, ponieważ funkcja ta przyjmuje za parametr zmienną $resulttype, za którą podstawiasz jedną z opcjonalnych stałych:  MYSQLI_ASSOC, MYSQLI_NUM, MYSQLI_BOTH. Zapytanie SQL wpisuje się w $link->query($zapytanie);.

mysqli_fetch_all pobiera wszystkie wiersze (wyniki) jako tablicę asocjacyjną, tablicę liczbową lub obie naraz.

Funkcja ta zwraca zestaw wyników jako tablicę asocjacyjną, liczbową lub obie.

Tylko dla stylu proceduralnego: Za zmienną $result możesz podstwić jedną z wartości zwracanych przed funkcje: mysqli_query(), mysqli_store_result(), mysqli_use_result().

Further, if you need to iterate over the result set, you will need a looping construct that will further impact performance.

Ponadto, jeśli będziesz chciał iterować zestaw wyników, to będziesz potrzebował skonstruować pętlę, która wpłynie na wydajność.

Z tych powodów mysqli_fetch_all() powinien być używany tylko w sytuacjach, w których pobrany zestaw wyników zostanie wysłany do innej warstwy w celu przetworzenia.

Podobne pytania

–1 głos
2 odpowiedzi 1,203 wizyt
0 głosów
1 odpowiedź 769 wizyt
pytanie zadane 17 kwietnia 2019 w PHP przez Whereismycode Obywatel (1,710 p.)
0 głosów
1 odpowiedź 503 wizyt
pytanie zadane 7 maja 2016 w PHP przez niezalogowany

92,452 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...