2016-11-20 4 views
1

私はphpには新しく、複数のテーブルから検索したい。 データは表形式で表示する必要があります。私は多くを試みましたが、問題を解決することができません。私は多くのチュートリアルを見て、多くの同僚に相談しましたが、可能な解決策を見つけることができませんでした。私を助けてください。私はあなたの一般的な行為になるでしょう。複数のテーブルからphp mysqlで検索を行い、テーブルに結果を表示するには

は、私は、ユーザー「ラナ」のは、テーブル内のデータを表示すべき

のように、検索ボックスにユーザー名を書き込みますとき

ラナは、この画像を持っていることを4つのテーブル

(1)user 
its have user_name,id 

(2)message 
its have user_name (FK),messages 
(3) 

images 
user_name(FK),images 
(4) 

videos 
user_name,videos 

私が欲しいを持っています、動画、メッセージ

テーブル形式

これは私が検索ボックスにユーザー名を書き込みますときにしたい私はPHPと私のSQLとXAMP

を使用しています、私のフォーム

/*search.php*/ 

<form action="join.php" method="post" class="navbar-form navbar-right"> 
    <div class="input-group"> 
     <input type="Search" name="user_name" value="" placeholder="Search..." class="form-control" /> 
     <div class="input-group-btn"> 
      <button class="btn btn-info"> 

      <span class="glyphicon glyphicon-search"></span> 

      </button> 

     </div> 

    </div> 
    <a href="logout.php" class="btn btn-danger">logout <span class="glyphicon glyphicon-log-out"></span></a> 
</form> 

と検索

/*join.php*/ 


    <?php 

    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "terror_combat"; 

    // Create connection 
    $conn = mysqli_connect($servername, $username, $password, $dbname); 
    // Check connection 
    if (!$conn) { 
     die("Connection failed: " . mysqli_connect_error()); 
    } 

    $sql = "select *from user a 
    join messages b on a.user_name = b.user_name 
    join images c on a.user_name = c.user_name 
    join videos d on a.user_name = d.user_name"; 

    $result = mysqli_query($conn, $sql); 

    if (mysqli_num_rows($result) > 0) { 
     // output data of each row 
     while($row = mysqli_fetch_assoc($result)) { 
      echo "User Name: " . $row["user_name"]. "<br />"; 
      echo "Message: " . $row["message"]. "<br />"; 

      echo "Video Path: " . $row["name"]. "<br />"; 
     echo'<img height="300" width="300" src="data:image;base64,'.$rows['image_path'].'">'; 
      //you get more data as your wise................ 
     } 
    } else { 
     echo "0 results"; 
    } 

    mysqli_close($conn); 
    ?> 

のためのその私のPHPですユーザー「ラナ」

のようにそのは

ラナはこのIMAを持つテーブルにデータが表示されます表形式でGES、動画、メッセージ

を助け

答えて

1

に感謝これは、テーブル内の検索結果を表示することができる方法です。 SQLクエリから結果を取得した直後に、テーブルを開いてテーブルの見出しを表示します。

echo "<table style='width:100%'>"; 
    echo "<tr>"; 
    echo "<th>Message</th>"; 
    echo "<th>Video</th>"; 
    echo "<th>Image</th>"; 
    echo "</tr>"; 

ここで結果をループして表の行を表示します。

if (mysqli_num_rows($result) > 0) { 
     while($row = mysqli_fetch_assoc($result)) { 
      echo "<tr>"; 
      echo "<td>" . $row['message']. "</td>"; 
      echo "<td>" . $row['videos'] . "</td>"; 
      echo "<td><img height='300' width='300' src='" . $rows['image_path'] . " />"; 
      echo "</tr>" 
     } 
    } 
    else { 
     echo "<tr>"; 
     echo "<td>No results</td>" 
     echo "</tr>"; 
    } 

今、あなたのテーブル

echo "</table>"; 
を閉じます
関連する問題