我的网站使用一个表格来表示墙帖("users_wall"),一个表格用于关注者("users_follow")。墙柱表如下所示(或多或少):
ID NAME USER_ID (the id of the wall it's posted on) CONTENT
1 James 3 Hi!
2 Jim 3 Hey there!
关注者/下表如下所示:
ID HEFOLLOWS THISGUY
1 James Jim
2 Jim James
我怎样才能用这个制作工作台进给?我目前有一个提要,但我发现无法按帖子的 ID 而不是发帖人对其进行排序。我的看起来像:
James: Hey (15th)
James: Hi! (13th)
Jim: Hi! (14th)
当我希望它是:
James: Hey (15th)
Jim: Hi! (14th)
James: Hi! (13th)
那我该怎么做呢?请解释一下,而不是把我送到一个一般的mysql/php学习网站。
谢谢:)
编辑:这是我如何制作新闻提要的基本版本:
<?php
$getfollowing = mysql_query("SELECT * FROM users_follow WHERE hefollows = '$username'");
while ($row = mysql_fetch_assoc($getfollowing)){
$followername = $row['thisguy'];
$getposts = mysql_query("SELECT * FROM users_wall WHERE name = '$followername' SORT BY id DESC");
while ($rows = mysql_fetch_assoc($getposts){
$date = $rows['date']
(...)
?>
<div class="share">
<?php echo($nameofposter); ?>
<br />
<?php echo($share_content); ?> ( <?php echo($date); ?> )
</div>
<?php
}
?>
这将导致:
<div class="share">
James
<br />
Hey (15th)
</div>
<div class="share">
James
<br />
Hi! (13th)
</div>
<div class="share">
Jim
<br />
Hi! (14th)
</div>
因为 James 在数据库中排在第一位,并且按关注者/关注者而不是共享的 ID 排序。
您必须具有日期字段,或使用时间戳按时间顺序组织帖子。
[更新]啊,我认为问题是您正在尝试使用 while 循环迭代某些内容,而应该使用连接语句来完成。我知道你真的不希望有人将你链接到一个通用的PHP页面,但这是一个mysql页面,这是你需要的。
http://dev.mysql.com/doc/refman/5.0/en/join.html
当您尝试使用它时,请返回您所做的内容,如果您仍然遇到问题,我将尝试帮助进行故障排除。