我正在为我的站点做PM系统。我为两个用户的每次对话创建了子页面。我很难编写所有对话都已打印的首页。我无法为每个用户获得最后一个消息。
这是我的功能:
public function fetch_data($id_uporabnika) {
global $pdo;
$query = $pdo->prepare("SELECT * FROM zs WHERE za = ? ORDER BY datum");
$query->bindValue(1, $id_uporabnika);
$query->execute();
return $query->fetchAll();
}
这是我用于打印对话的代码:
<?php
} else {
$zs = new Zs;
$id_uporabnika = $trenutni['id'];
$zsji = $zs->fetch_data($id_uporabnika);
?>
<h2>Zasebna sporočila</h2>
<ul class="vsi-zsji">
<?php foreach ($zsji as $sporocilo): ?>
<?php $od = $oseba->fetch_data($sporocilo['od']) ?>
<li>
<a href="<?php echo $url; ?>zs/poglej/<?php echo $sporocilo['od']; ?>">
<img src="<?php echo $url; ?>inc/timthumb.php?src=<?php echo $od['slika_potem'] ?>&w=60&h=60" alt="">
<p><b><?php echo $od['uporabnisko_ime'] ?></b></p>
<p><?php echo $sporocilo['vsebina'] ?></p>
</a>
</li>
<?php endforeach ?>
</ul>
<?php } ?>
我从一个用户那里得到10个PM,为另一个用户得到3个。我只想显示最新的。
最佳答案
只需在您的SQL查询中放置一个LIMIT
子句并按DESC
进行排序即可获取最新消息:
$query = $pdo->prepare("SELECT * FROM zs WHERE za = ? ORDER BY datum DESC LIMIT 1");
关于php - 仅获取每个用户的最后一条消息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22149679/