Jak wyświetlić wszystkie zaproszenia do grona znajomych ?

0

Cześć. Robię właśnie system dodawania do znajomych i chcę wyświetlić wszystkie zaproszenia do grona znajomych. Problem polega na tym że wyświetla tylko dane osoby która przysłała zaproszenie ostatnia, a pozostałych nie wyświetla.

class friend
{

    private $database;
    private $userData;

    public function __construct( $database)
    {
        $this->database = $database;
    }

    public function ifexist()
    {

        $session = $_SESSION['id'];

        $sql = $this->database->connect()->prepare("SELECT first_name, last_name FROM user JOIN friend ON user.id = friend.request_from_id where  request_to_id = :session");
        $sql->bindParam(':session',$session, PDO::PARAM_INT);
            $sql->execute();

             if($sql->rowCount())
            {
                while ($row = $sql->fetch())
                {
                    $row = $sql->fetch();

            }
     $this->userData = $row;

    }

    public function display_2(string $colName)
    {

        echo (isset($this->userData[$colName])) ? $this->userData[$colName] : '';
    }
<div class='container-fluid>
        <div class='row'>       
            <div class=" col-12">
                <div class="row" id="margin">
                    <div class="col-xl-12"">
                        <div>Imię: <?php echo $acav->display_2('first_name') ?></div>
                    </div>
                </div>
                <div class="row" id="margin">
                    <div class="col-xl-12">
                        <div>Nazwisko: <?php echo $acav->display_2('last_name') ?></div>
                    </div>
                </div>
                </div>
            </div>
</div>
1
$this->userData = []; // przed pętlą
/* ... */
$this->userData[] = $row; // w miejsce $row = $sql->fetch();
0

@Patryk27: Zrobiłem tak jak napisałeś ale teraz nic nie wyświetla

 if($sql->rowCount())
            {
                $this->userData = [];

                while ($row = $sql->fetch())
                {
                    $this->userData[] = $row;
                }

            }
1

$this->UserData[] to tablica. Musisz zatem dodać pętle na widoku która wyświetli każdy element z tablicy:

       <?php foreach ($userData as $user) { ?>
        <div class='row'>       
            <div class=" col-12">
                <div class="row" id="margin">
                    <div class="col-xl-12"">
                        <div>Imię: <?php echo $user['first_name'] ?></div>
                    </div>
                </div>
                <div class="row" id="margin">
                    <div class="col-xl-12">
                        <div>Nazwisko: <?php echo $user['last_name'] ?></div>
                    </div>
                </div>
            </div>
        </div>
       <?php } ?>
0

@N3: Teraz pokazuje błędy: Notice: Undefined variable: userData in C:\xampp\htdocs\social\profil.php on line 218

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\social\profil.php on line 218

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0