0
I’m trying to make a PM’s system in php script I want to make a list of unread messages but I want to show only one entry (the last one) of each user I send a message...in the script I did shows all unread but shows more than one of each user (if there are more than one). Roughly I would like the repeat loop brought up only the last PM of each user sending pm and that has not yet been read.
My php
<?php
$userID = $_SESSION['user_released'];//Declaramos variavel com nome de usuário logado
//Iniciamos a consulta
$Busca = $pdo->query("SELECT * FROM pms WHERE status = 0 AND enviador != '$userID' ORDER BY id DESC");
$Busca->execute();
//Iniciamos o laço de repetição
while($fetch = $Busca->fetch(PDO::FETCH_ASSOC)){
//Armazenamos as informações
$pmID = $fetch['id'];
$autor = $fetch['enviador'];
$data = $fetch['data'];
$status = $fetch['status'];
$totali = $Busca->rowCount($autor);
if($totali >= 1){
//Iniciamos a consulta buscando informação de usuário!
$Verific = $pdo->prepare("SELECT * FROM users WHERE `user` = :user");
$Verific->bindParam(':user', $autor, PDO::PARAM_STR);
$Verific->execute();
//Iniciamos o laço de repetição
while($fatch = $Verific->fetch(PDO::FETCH_ASSOC)){
//Armazenamos as informações
$user = $fatch['user'];
$autorAvatar = $fatch['avatar'];
}
}// Fecha "if" !!!
//Iniciamos a consulta de contagem de pms não lidas!!!
$BuscaPM = $pdo->query("SELECT * FROM pms WHERE enviador = '$autor' AND status = 0");
$BuscaPM->execute();
while($fatch = $BuscaPM->fetch(PDO::FETCH_ASSOC)){
$contagem = $fatch['id'];
}
$total = $BuscaPM->rowCount($contagem);
?>
<!-- Trecho HTML para exibir resultados ! -->
<?php
}// Fecha "while" !!!
?>
Thanks! Closed them all. That’s right.
– Lauro Moraes