0

Dreamweaver と MAMP を使用してサイトを作成しています。内部に posts というテーブルがあり、postid と userid の 2 つの列があります。私はすべての投稿をページに載せています。どのユーザーがどの投稿を投稿したかを表示し、それを各投稿にそれぞれ書きたいと思います。たとえば、表示される最初の投稿の投稿 ID は 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

Before executing a query from any language,

Test the query on your local database command line.

Your query,

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

will result in a syntax error.

EDIT:

Do the following,

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)
       );

Now,

To display the posts,

Array =  SELECT * FROM posts ORDER BY created_at DESC;

Store the result from the above query into your languages array/variable. Im a rails developer, Im not sure about PHP's syntax.(Google it and find out!)

After storing the results into an array,

Display the following for each element in the array as follows,

Post content:
<< Array.post >>
Written about:
<< Array.created_at >> ago
Written by:
<< SELECT user_name FROM users WHERE user_id = Array.user_id >>

That should help or take you somewhere.

于 2012-05-06T17:47:55.730 に答える
0

「WHERE」句に何かが欠けています:

WHERE posts.userid [=何か]

これは、DB から必要なデータを取得するための最初のステップです。

于 2012-05-06T17:23:22.707 に答える