0

つまり、基本的には、ユーザーの投稿を使用して、時間順に並べられたすべてのユーザーの投稿を表示する、ある種のタイムラインを作成しようとしています。しかし、代わりに、私に次のことを与えます:

*User1  'post1',
 User1  'post2',
 User1  'post3'..

*User2  'post1',
 User2  'post2',
 User2  'post3'..

user1からのすべての投稿、user2からのすべての投稿などではなく、すべての投稿を注文したいのですが、それが理にかなっていることを願っています。ありがとうございます。

クエリ

  <?php
$varq1 = mysql_query('SELECT id2 FROM followers WHERE id ="'.$_SESSION['id'].'"');
    while($req5 = mysql_fetch_array($varq1)){

$req9=$req5['id2'];
$nsql = mysql_query('SELECT content, id, profile_id FROM contenido WHERE profile_id in("'.$req9.'") order by content_time desc');**strong text**
while($nrow = mysql_fetch_array($nsql)){    
?>

HTML/php呼び出し

<div class="divider">
<center><?php echo  "".$nrow['content'].""; ?><center/>
</div>
4

3 に答える 3

1

両方のクエリを1つで実行できます...時間で並べ替えることができます

select content,id, profile_id from contenido where profile_id in (SELECT id2 FROM followers WHERE id ="'.$_SESSION['id'].'") order by content_time desc

それをフェッチすると、あなたが望むものを正確に得ることができます:)時間でソートされたさまざまなユーザーからのすべての投稿。

于 2012-11-30T05:29:11.293 に答える
0

Plzこのコードを使用してからチェック

<?php
$varq1 = mysql_query('SELECT id2 FROM followers WHERE id ="'.$_SESSION['id'].'"');
while($req5 = mysql_fetch_array($varq1)){

$req9=$req5['id2'];
$nsql = mysql_query('SELECT content, id, profile_id FROM contenido WHERE profile_id='".$req9."' order by content_time desc');/*strong text*/
while($nrow = mysql_fetch_array($nsql)){    
?>
<div class="divider">
   <center><?php  '". echo $nrow['content']."'; ?><center/>
</div>
于 2012-11-30T05:34:31.303 に答える
0
'SELECT id2, content, c.id, profile_id
FROM followers f JOIN contenido c ON profile_id = id2
WHERE f.id = "'.$_SESSION['id']"'
ORDER BY content_time DESC, id2
于 2012-11-30T05:30:43.133 に答える