Problema afisare utilizatori Notice: Array to string conversion

Incerc sa afisez top 5 utilizatori

Am incercat asa:

    $sql = $dataBase->prepare('SELECT pr__user.id, pr__user.firstname, pr__user.lastname, pr__user.email, pr__user.picture, pr__user.lang, pr__user.score
                               FROM pr__user
                               ORDER BY pr__user.score DESC LIMIT 5');
    $sql->execute();
    $top5players = $sql->fetchAll();
    $sql->closeCursor();

echo '
<div id="DivAjaxModalBody">
'.$top5players.'
</div>

<script>
$("#SpanCountWords").html("'.str_word_count(strip_tags($content)).'");
$("#DivAjaxModalBody").appendTo($("#DivModalBodyDynamic"));
$("#ModalDynamic").modal("show");
</script>';

Primesc eroarea: Notice : Array to string conversion in /home/spike/web/site/public_html/sections/ajax-calls/ajax/ajax_openmodal.php on line 48
Array
La linia 48 este ‘.$top5players.’

Ce as putea sa fac?

Pai scrie foarte clar. Variabila ta este un array care contine mai multe elemente.
Va trebui sa faci ceva de genul:

echo '
<div id="DivAjaxModalBody">';
foreach ($top5players as $row) {
    echo '<p>'.$row['lastname'].' '.$row['firstname'].'</p>';
}
echo '</div>';

Tu in query ai luat mai multe coloane (firstname, lastname, email, picture etc.). Variabila ta contine un array de array-uri cu rezultatele query-ului. Fiecare element din array contine un rand din baza de date.
Daca vrei sa vezi mai bine ce iti returneaza, fa un var_dump($top5players) si iti va arata ce contine rezultatul tau.

3 Likes