Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Problem z kodem PHP


Przejdź do rozwiązania Rozwiązane przez JamLasica,

Rekomendowane odpowiedzi

Opublikowano (edytowane)

Witajcie. Otóż nie mogę uporać się z kodem PHP - edytor cały czas krzyczy, że jest on błędny:

 

Oto kod skryptu

    <?php
    
    $aPlayers = $query->getDetailedPlayers();
    
    if(!is_array($aPlayers) || count($aPlayers) == 0)
    {
        echo '<br /><i>None</i>';
    }
    else
    {
        ?>
        <table width="400">
            <tr>
                <td><b>Player ID</b></td>
                <td><b>Nickname</b></td>
                <td><b>Score</b></td>
                <td><b>Ping</b></td>
            </tr>
        <?php
        foreach($aPlayers as $sValue)
        {
            ?>
            <tr>
                <td><?= $sValue['playerid'] ?></td>
                <td><?= htmlentities($sValue['nickname']) ?></td>
                <td><?= $sValue['score'] ?></td>
                <td><?= $sValue['ping'] ?></td>
            </tr>
            <?php
        }
    
        echo '</table>';
    }

Kod który chcę dodać

<php>
$aPlayers = $query->getDetailedPlayers();
</php>
<foreach loop="$aPlayers as $sValue">
{$sValue['playerid'}
{htmlentities($sValue['nickname'])}
{$sValue['score']}
{$sValue['ping']}
</foreach>

Ponadto nie mam pojęcia, jak dodać ten warunek

if(!is_array($aPlayers) || count($aPlayers) == 0)
    {
        echo '<br /><i>None</i>';
    }
    else
    {

Z góry dzięki za każdą pomoc! :)

Edytowane przez Gama
Opublikowano

Poprawiłem:

<div class='ipsSideBlock clearfix'>
<h3>Gracze online</h3>
<div class='_sbcollapsable'>
<php>
$aPlayers = $query->getDetailedPlayers();
</php>
<foreach loop="$aPlayers as $sValue">
{$sValue['playerid']}
{htmlentities($sValue['nickname'])}
{$sValue['score']}
{$sValue['ping']}
</foreach>
</div>
</div>

Jednak nadal mam błąd:

There is a syntax error in the template, usually caused by PHP code not properly formed.  Please correct the error and hit save again.
Opublikowano

Teraz kod się zapisał, musiałem go zmodyfikować bo nie działał (coś skopałem z foreach)

<php>
$aPlayers = $query->getDetailedPlayers();
foreach ($aPlayers as $sValue)
{
</php>
<tr>
<td>{$sValue['playerid']}</td>
<td>{$sValue['nickname']}</td>
<td>{$sValue['score']}</td>
<td>{$sValue['ping']}</td>
</tr>
<php>
}
</php>

Po tej zmianie w foreach pokazuje tylko jednego gracza z serwera a nie wszystkich. Jak to naprawić?

Opublikowano (edytowane)

Zrobiłem tak

<php>
$aPlayers = $query->getDetailedPlayers();
foreach ($aPlayers as $sValue)
{
$playerid = $sValue['playerid'];
$playername = htmlentities($sValue['nickname']);
$playerscore = $sValue['score'];
$playerping = $sValue['ping'];
echo '<tr>'.$playername.' (ID: '.$playerid.'), Punkty ('.$playerscore.'), Ping ('.$playerping.')</tr>';               
}
</php>

Teraz wyświetla wszystkich graczy jednak pojawił się problem. Cała ta lista wyświetlana jest na górze forum razem z błędami. Jakieś pomysły jak to naprawić?

 

pre_1373655800__blad.png

Edytowane przez Gama
  • Rozwiązanie
Opublikowano (edytowane)

Nie używać echo i print_r, bo tak to będzie - powinieneś używać szablonu.

Stwórz tam sobie w php jakaś zmieną w stylu $mylist_output i dodawaj do niej ( .= ) wszystko co chcesz wyświetlić. Potem poza <php> pokaż go poprzez {$mylist_output} i gotowe ;)

Edytowane przez JamLasica
  • Lubię to 1
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.