2017-02-20 17 views
1

私の目的は、調査の質問(私のデータベースのテーブルから)と左側の部分(私のデータベースの別のテーブルから)の右側の部分の回答を表示/表示することです。だから私の質問です:この2つの選択クエリをマージする方法は?私はいくつかの研究をしましたが、phpでは理解するのが難しいですし、私はまだphpで新しいです。 ヘルプやアドバイスをお待ちしております。この2つの選択クエリを1つにマージできますか?

最高のアドバイスA.V.

<?php 
    include("bdconnect_Foredeck.php"); 
    $link=mysqli_connect($host,$login,$pass,$dbname); 

    if(isset($_POST["bouton55"])){ 
     $link = mysqli_connect($host,$login,$pass,$dbname); 

     $id = $_REQUEST["Zoubi"]; 
     $ClientRef =$_REQUEST["KGB"]; 

     $rechercheq = "SELECT Qref,Ref,Question FROM questionnaire WHERE Qref ='$id' "; 
     $recherche= "SELECT choix,commentaire FROM reponse WHERE RefQ ='$id' and ref_Client ='$ClientRef'"; 

     mysqli_query($link,$recherche); 
     mysqli_query($link,$rechercheq); 

     $result1=mysqli_query($link,$rechercheq); 
     $result= mysqli_query($link,$recherche); 

     while($row = mysqli_fetch_assoc($result,$result1)){ 
      $Ref =$row["Ref"]; 
      $Question  =$row["Question"]; 
      $Choix =$row["choix"]; 
      $Commentara =$row["commentaire"]; 

      echo" <tr bgcolor=\"white\"> 
      <td> $id </td> 
      <td> $Ref </td> 
      <td>$Question </td> 
      <td>$Choix  </td> 
      <td>$Commentara   </td> 
      </tr>"; 
     } 
    } 
?> 
+0

各クエリは_twice_を実行しており、2回目の結果のみを保存します。 – MrDarkLynx

答えて

0

あなたが行を重複している場合は、

SELECT DISTINCT a.Qref, a.Ref,a.Question , b.choix, b.commentaire 
    FROM questionnaire as a 
    LEFT JOIN reponse as b ON a.RefQ = b.RefQ 
    WHERE a.Qref ='$id' 
    AND b.ref_Client ='$ClientRef' 

そうでなければ、ロジック単一のクエリを許可していない、あなたは明確な使用することができます。..

SELECT a.Qref, a.Ref,a.Question , b.choix, b.commentaire 
    FROM questionnaire as a 
    LEFT JOIN reponse as b ON a.RefQ = b.RefQ 
    WHERE a.Qref ='$id' 
    AND b.ref_Client ='$ClientRef' 

をJOINを使用することができ

+0

あなたのコメントの3行目に、5行目に「$ ClientRef」の後ろに「;」と書かなければならないのでしょうか?@scaisEdge –

+0

警告:mysqli_fetch_assoc()は、パラメータ1がmysqli_result、 \ wored \ www \ Foredeck \ foredeck_searchclient.php on line 65: 'while($ row = mysqli_fetch_assoc($ result、$ result1)){' –

+0

typo ..答えが更新されました。条件が一致しない場合に左結合で結合します。 – scaisEdge

関連する問題