2017-02-02 34 views
-2

2つのテーブルを結合して、「タスク」テーブルのタスクを「ユーザ」テーブルのユーザに割り当てようとしています。2つのテーブルをMySQLで結合し、PHPを使用してデータを表示する方法

私のテーブルと列は、次のとおりです。

tasks: 
task_id, 
task_description, 
userid 

users: 
user_id, 
first_name, 
last_name 

<?php 

$join_query = " 
SELECT task_id 
    , task_description 
    , tasks.userid 
    , users.user_id 
    , first_name 
    , last_name 
    FROM tasks 
    JOIN users 
    ON tasks.userid = users.user_id 
"; 

$result = mysqli_query($connection, $join_query); 

while($row = mysqli_fetch_array($result)) { 

    $name = $row['first_name']; 
    $description = $row['task_description']; 

} 

?> 

の表は、参加私は別の別名を持つデータをエコーすることができますとして動作しているようです。しかし、私はそれがユーザーにタスクを割り当てることを可能にしようとしています。私も閉じていますか?どんな助けもありがとう。ありがとう!

+0

タスクをユーザに割り当てるとは、タスクテーブルのuseridフィールドを有効なユーザIDに設定することです。これはjoinまたはselectとは関係ありません。これは挿入または更新のいずれかです。 Plsあなたの質問を明らかにする! – Shadow

+0

大丈夫です。ありがとう!私は再編成し、それを別の方法で解決しようとします。 – jkloster7

答えて

-1

最初にクエリを見て、これに変更してください。あなたは、両方のテーブルのすべてのフィールドを選択したので、*あなたのためにこれを行いますと

while($row = mysqli_fetch_assoc($result)) { 

    $name = $row['first_name']; 
    $description = $row['task_description']; 

} 

$join_query = " 
SELECT tasks.* 
    , users.* 
    FROM tasks 
    INNER JOIN users 
    ON tasks.userid = users.user_id 
"; 

次に、データの連想配列を取得します。そして、参加するときにはテーブル名をフィールド名で使うのが良い方法です。そして、連想配列をフェッチして結果を得る。それ以外はすべて問題ありません:)

+0

ありがとう!私はこれを試して、それが動作するかどうかを見ます。ほんとうにありがとう。 :) – jkloster7

関連する問題