3

2つのテーブルがあります。1つはと呼ばれ、もう1つはpostsと呼ばれusersます。内部postsにはいくつかの列があり、そのうちの1つはの外部キーですuserid。私のusersテーブルには、auseridとaを含むいくつかの列がありますusernameposts.useridを使用して、を検索しusers.useridて表示したいと思いますusers.username。現在使用しているもの:

SELECT posts.postid, posts.title, posts.text, posts.link, posts.good, posts.bad, posts.userid
FROM posts

各投稿に関するデータを取得するには、

SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid

各ユーザーに関するデータを取得しますが、これを行うと、の出力echo $row_therealuserid['username'];は常に最初のユーザーになります。

4

2 に答える 2

9

配列を使用して他の行を取得し、その配列をループする必要があります。

$query = 'SELECT users.username, users.userid, posts.userid
FROM users, posts
WHERE users.userid = posts.userid';

$result = mysql_query($query) or die(mysql_error());


while($row = mysql_fetch_array($result)){
    echo $row['username'];
    echo "<br />";
}
于 2012-05-07T15:53:22.203 に答える
0

結果セットを返す SELECT およびその他のステートメントの場合、mysql_query() は成功するとリソースを返し、エラーの場合は FALSE を返します。

リソースは、外部リソースへの参照を保持する特別な変数です。リソースは特別な機能によって作成および使用され、さまざまな機能によって作成および使用される多くのタイプを持つことができます。

mysql_query() の場合、返されるタイプのリソースは " mysql result " であり、mysql_fetch_array() によって使用されます。

別の例を示します。関数 mysql_connect() の場合、関数 mysql_query() で使用できるリソース タイプ「mysql リンク」を返します。

于 2012-05-07T17:33:33.387 に答える