0

我正在使用 Dreamweaver 和 MAMP 创建一个站点。我有一个名为帖子的表,里面有两列,postid 和 userid。我将所有帖子放在一个页面上,我想显示哪个用户发布了哪个帖子,并分别写在每个帖子上。例如,应该显示的第一个帖子的 postid 为 2,用户 ID 为 1。目前它正在显示登录所有帖子的用户的用户 ID,我正在使用:

mysql_select_db($database_akaearthdb, $akaearthdb);
$query_PostsUserid = "SELECT userid FROM posts WHERE posts.userid ORDER BY posts.postid";
$row_PostsUserid = mysql_fetch_assoc($PostsUserid);

echo $row_PostsUserid['userid']

显示它。我希望 $row_PostsUserid['userid'] 成为发布者的用户 ID。

如果您需要更多信息,请告诉我,我是语言新手,如果我做错了一切,很抱歉,TIA。

4

2 回答 2

0

您在“WHERE”子句中遗漏了一些东西:

WHERE posts.userid [ = something ]

这将是从数据库中获取所需数据的第一步。

于 2012-05-06T17:23:22.707 回答
0

在从任何语言执行查询之前,

在本地数据库命令行上测试查询。

您的查询,

"SELECT userid FROM posts WHERE posts.userid ORDER BY posts.postid"

将导致语法错误。

编辑:

请执行下列操作,

CREATE TABLE users (
         id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
         user_name VARCHAR(255),
         age INT,
         any_detail VARCHAR(255)
       );

CREATE TABLE posts (
         id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
         post TEXT,
         created_at TIMESTAMP(8),
         user_id INT,
         FOREIGN KEY (user_id) REFERENCES users(id)
       );

现在,

要显示帖子,

Array =  SELECT * FROM posts ORDER BY created_at DESC;

将上述查询的结果存储到您的语言数组/变量中。我是一名 Rails 开发人员,我不确定 PHP 的语法。(谷歌一下就知道了!)

将结果存入数组后,

为数组中的每个元素显示以下内容,如下所示,

帖子内容:
<< Array.post >>
撰写者:
<< Array.created_at >> 前
撰写者:
<< SELECT user_name FROM users WHERE user_id = Array.user_id >>

这应该会帮助或带你去某个地方。

于 2012-05-06T17:47:55.730 回答