自分の条件に一致する最新の行のみを表示したいとします。これは、ユーザーまたはそのパートナーからの最新のメッセージのみを表示し、ユーザーと他のパートナーとの間の次の会話の最新のメッセージを表示する会話リストページです。PHP - 2つの条件の結果がさらに多い場合、1行しか取得できません。
私はこのデータベースを持っている:
とデータをフェッチするには、このコード:
$db = new PDO("mysql:host=localhost; dbname=dbname", 'root', '');
$stmt4 = $db->prepare("
SELECT *
FROM messages
WHERE messages.from_id=7
OR messages.to_id=7
ORDER BY msg_id DESC
");
$stmt4->execute();
は、それが何らかの形で可能ですか?
返される結果が1つのみの場合は、LIMIT 1句を適用してください –
ここのスクリーンショットは実際には多くの情報を伝えるものではありません。スキーマが関連している場合は、質問の中の 'SHOW CREATE TABLE'の詳細を投稿してください。 – tadman
f LIMITを使用していますが、1つの行のみを選択します。しかし、私はすべての会話の行を1つだけ選択する必要があります。したがって、(from_id = 20とto_id = 7)と(from_id = 7とto_id = 20)の複数の行がある場合は、最新のものだけを表示したいと思います。しかし、別の会話(fe from_id = 7とto_id = 8、from_id = 8とto_id = 7)がある場合は、その最新の行を表示して、既存のすべての会話の最後のメッセージを引き続き表示したい。たぶん私は十分にはっきりしていなかったので、他の人も同じように答えてくれたのですが、残念です@ MarkBaker –