2017-05-06 3 views
-1

に参加:私はお気に入りやランドマークのテーブルを結合するようなユーザーと、それは私のクエリで、お気に入りのテーブルに追加されたランドマークでリストを作りたい私のユーザープロファイルではPHPのクエリ

が、何も検索されませんか?そのような

// PHP

<?php 
     include "config.php"; 
     header('Content-Type: application/json'); 
     $userid = array_key_exists('userid', $_GET) ? $_GET['userid'] : null; 
     $landmarkid = array_key_exists('landmarkid', $_GET) ? $_GET['landmarkid'] : null; 

     $data=array(); 

     $q = mysqli_query($con,"SELECT c.userid,c.L_ID,u.Title,u.Image,u.L_ID FROM favorite c inner join landmarks u 
     on u.L_ID=c.L_ID WHERE ".(isset($userid) ? "c.userid=$userid" : (isset($landmarkid) ? "c.L_ID=$landmarkid" : ""))." ORDER BY c.L_ID"); 

     if($q){ 
      $num_rows = mysqli_num_rows($q); 
      if($num_rows > 0){ 
       while ($row=mysqli_fetch_object($q)){ 
        $data[]=$row; 
       } 
      } 
      echo '{"favourites":'. json_encode($data) .'}'; 
     } 
    ?> 

    //Tables 

     CREATE TABLE `favourite` (
      `userid` int(11) NOT NULL, 
      `L_ID` int(11) NOT NULL 
     ) 

     CREATE TABLE `landmarks` (
      `L_ID` int(11) NOT NULL, 
      `Image` text NOT NULL, 
      `Title` text NOT NULL, 
     ) 


     CREATE TABLE `users` (
      `userid` int(11) NOT NULL, 
     ) 
+2

ようこそスタックオーバーフロー。私たちはボランティアです。多くのコードを読むには時間がかかります。残念ながら、あなたの質問には無関係のコードが膨大に含まれていますが、テーブルのサンプルデータや必要な結果のサンプルは含まれていません。いくつかのサンプルを表示するために質問を編集してください。 –

+0

あなたは何をしたいですか? 1つのテーブルに2つのテーブルを結合するには? – NoOorZ24

+0

私は質問を編集しました –

答えて

-1

SELECT l.* FROM users AS u 
INNER JOIN favourite AS f ON f.userid = u.userid 
INNER JOIN landmarks AS l ON l.L_ID = f.L_ID 
WHERE u.userid = YOURUSERID 
+1

ありがとうバスト:) –