Gostaria de tirar uma dúvida referente a uma consulta ao banco de dados!
Olá. eu gostaria de tirar uma dúvida que já faz exatamente 1 dia que eu estou fazendo pesquisas e nada.
Minha dúvida é a seguinte, Estou fazendo um aplicativo de mensagem por browser se e que pode se chamar assim.
Tipo eu tenho o loby de mensagem semelhante ao Whatsapp e quando a pessoa clica em conversas eu faço a consulta via ajax
Nesta consulta eu só informo o meu id ou seja o id do usuário logado. e na pagina php eu faço a seguinte consulta no banco de dados:
Procurar por todas as mensagens da tabela: privado, Nesta consulta me retorna todas as mensagens cujo meu id existe como na coluna: Para, com o status da mensagem valor 0
Ou seja 0= Disponível e 1 seria deletada. este e o código usado:
$sql = $db->prepare("SELECT * FROM privado WHERE Para = '$ID_user' AND Status = '0' ORDER BY id DESC");
$sql->execute();
Continuando;
Após o fazer esta consulta coloquei para listar tudo com o while, colocando todos os id dos usuários em uma variável e dentro deste mesmo while eu faço
Outra consulta por os usuários informado pela variável id da pessoa que mandou. e isso ocorre com sucesso, ou seja eu consigo fazer quase tudo que eu quero.
Procurei pelas mensagem, pesquisei por estes usuários mostro: Nome, foto, e a mensagem; Este e o código usado:
while($dados = $sql->fetch(PDO::FETCH_OBJ)){
$ID_De = ($dados -> De);
$U_mensagem = ($dados -> Texto);
$sql1 = $db->prepare("SELECT * FROM usuarios WHERE id = '$ID_De' ORDER BY id DESC");
$sql1->execute();
while($dados1 = $sql1->fetch(PDO::FETCH_OBJ)){
$Foto = ($dados1 -> foto == "") ? "defaut.png" : $dados1 -> foto;
$Nome = ($dados1 -> nome);
echo "Nome: ".$Nome."<br>Foto: ".$Foto."<br>Mensagem: ".$U_mensagem."<br><br>";
}
}
No final fica tudo assim:
Nome: ModeradorFoto: user_3.pngMensagem: Mensagem do moderadorNome: RonaldoFoto: user_1.pngMensagem: Como vai você?Nome: RonaldoFoto: user_1.pngMensagem: Olá
Mas no final das contas eu gostaria de saber somente uma coisa para que meu projeto funcione como quero:
Eu quero que a listagem da ultima mensagem de cada usuário não todas as mensagem daquele usuário, ou seja somente da ultima mensagem de cada um usuário
"Tabela nome: usuários
Colunas: [ id, De, Para, Texto, Status ]"
Este e o código completo da pagina:
<?php
$Hostname = "localhost";
$Database = "servidor_app";
$Charset = "utf8";
$Username = "root";
$Password = "";
$db = new PDO('mysql:host='.$Hostname.';dbname='.$Database.';charset='.$Charset.'', $Username, $Password);
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$URL_ATUAL= "https://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
parse_str(parse_url($URL_ATUAL, PHP_URL_QUERY), $vamos_ver);
$ID_user = $vamos_ver['id'];
$sql = $db->prepare("SELECT * FROM privado WHERE Para = '$ID_user' AND Status = '0' ORDER BY id DESC");
$sql->execute();
while($dados = $sql->fetch(PDO::FETCH_OBJ)){
$ID_De = ($dados -> De);
$U_mensagem = ($dados -> Texto);
$sql1 = $db->prepare("SELECT * FROM usuarios WHERE id = '$ID_De' ORDER BY id DESC");
$sql1->execute();
while($dados1 = $sql1->fetch(PDO::FETCH_OBJ)){
$Foto = ($dados1 -> foto == "") ? "defaut.png" : $dados1 -> foto;
$Nome = ($dados1 -> nome);
echo "Nome: ".$Nome."<br>Foto: ".$Foto."<br>Mensagem: ".$U_mensagem."<br><br>";
}
}
?>
Pro favor preciso de ajuda urgente.
Atenciosamente,
~RonaldoDiscussão (2)
Carregando comentários...