2016-11-08 9 views
0

私はPHP MYSQLで書かれた1つのアンドロイドWebサービスを持っています...私たちの開発者がクエリを作成し、その結果をjsonに入れている3つのテーブルについてです。しかし、私は、空白を返すユーザ名以外の行が他のテーブルにないときは問題があります。ただし、すでに1つのテーブルで使用できるユーザー名です。 UID、ユーザー名、電子メール、MOBILENUMBER、パスワード、画像提出した複数のテーブルからのmysqliクエリ

引用符:quote_idを

<?php 

// Grab User submitted information 
$UID = $_POST["UID"]; 

// Connect to the database 
$con = mysqli_connect("localhost","myid","mypass", "mydb"); 
// Make sure we connected succesfully 
if(! $con) 
{ 
    die('Connection Failed'.mysqli_connect_error()); 
} 

// mysql_select_db("tabdevel_yourdb",$con); 
$result = mysqli_query($con,"SELECT l.username, 
            q.quote_id,q.status,q.credit,q.QOD, 
            w.Total,w.Completed,w.Withdrawl,w.Credit 
            From quotes q, 
             login_details l, 
             user_details w 
            WHERE l.UID = q.UID 
             AND l.UID = w.UID 
             AND l.UID = '$UID' "); 

//echo $result; 
$json = array(); 
if($result==false) 
{ 
    die(mysqli_error()); 
}else 
{ 
    if(mysqli_num_rows($result)) 
    { 

     while($row=mysqli_fetch_assoc($result)){ 
      $json['Details'][]=$row; 
     } 
    } 
} 

$json_output1 = json_encode($json); 
echo $json_output1; 

?> 

以下のようなその作りのクエリは、私はが提出した

login_details以下のようなデータベース構造を持っています、見積もり、ステータス、クレジット、UID、QOD、quote_date

user_details fileded:user_deta ils_id、UID、クレジット、引出し、合計、完了

何が欠けていますか? ありがとう

+0

関連するコードがたくさんあります!!!!! – RiggsFolly

+0

@RiggsFolly完全なコードが含まれています...確認してください。ありがとう –

+0

'user_details'テーブルを他のテーブルにどのように接続していますか? – RiggsFolly

答えて

0

あなたが探しているものはthe JOIN keywordと呼ばれています。あなたが制御することはできませんその上結合タイプを「作品」が、暗黙的に実行

FROM quotes q, login_details l,user_details w 

:現在、あなたはこのようなテーブルをリストアップしています。そして、結合タイプはINNER JOINと思われます。 INNER JOINで注目すべき重要な点は、特定のテーブルに一致するレコードがない場合、結果レコード全体が省略されることです。

代わりに、LEFT OUTER JOINのようなものがほしいと思うようです。

FROM quotes q 
LEFT OUTER JOIN login_details l 
    ON q.some_column = l.some_column 
LEFT OUTER JOIN user_details w 
    ON q.another_column = w.another_column 

は今、私はあなたが参加しているどの列を知らないので、私はちょうどそこにプレースホルダを置く:そのための構文は、より多くのようになります。しかし、うまくいけば、あなたはそのアイデアを得ますの代わりに暗黙的にデータベースに "把握"させると、この構文ではに明示的ににテーブルを結合する方法をデータベースに伝えることができます。

ここではLEFT OUTER JOINの重要なことは、結合されているテーブルに一致するレコードがない場合、元のテーブルのレコードが含まれていることです。 (結合されたテーブルのNULLの値があるにもかかわらず)

+0

私は完全なファイルを含んでいます...私のコードに従って答えを編集できますか?ありがとう –

+0

@ AshokSinh: "答えを編集する"どのように?この答えが示唆したことを試みましたか?なにか何か失敗しましたか? – David

+0

@ David私は "some_column"を理解していません。申し訳ありませんが、PHPで新しくなったので、あなたが何を言いたいのか正確には分かりません。ありがとう –

関連する問題