我正在为我的站点做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/

10-11 05:23