我正在为我的网站做PM系统。我为两个用户创建了每个对话的子页面。我很难编写首页,打印所有会话。我不能只为每个用户获得一个和最后一个meassage。
这是我的功能:
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个PM。我想显示最新的一个。
答案 0 :(得分:1)
只需在SQL查询中加上LIMIT
子句,然后按DESC
排序即可获取最新消息:
$query = $pdo->prepare("SELECT * FROM zs WHERE za = ? ORDER BY datum DESC LIMIT 1");
答案 1 :(得分:-1)
这样的事情应该有帮助
SELECT id,datum,max(pm)FROM zs WHERE za =?按ID,数据分组