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