2016-05-27 11 views
1

私はPHPを初めて使い、MySQL DBに保存されたテレビ番組の情報を表示するために私のウェブサイトを構築しようとしています。私は現在、DBに情報を表示するためのテーブルを作成するWebページを持っていますが、各行を動的に作成されたページにリンクして、各ショーについての詳細情報をDBから取得したいと思います。私の質問はどのリンクがクリックされたのかを知るためのサイトをどのようにしてそれを変数として保存するのかということです。それで、新しい情報で正しい情報を取り込むことができますか?最後のページに変数を設定して新しいページを動的に設定する方法はありますか?

私は現在、ページを埋めるために、これを使用しています。

<!--Populate page with data from SQL--> 
      <?php 
       $servername = "localhost"; 
       $username = "root"; 
       $password = ""; 
       $dbname = "media_server"; 

       // Create connection 
       $conn = new mysqli($servername, $username, $password, $dbname); 
       // Check connection 
       if ($conn->connect_error) { 
        die("Connection failed: " . $conn->connect_error); 
       } 

       $sql = "SELECT show_title, show_desc, thumbnail_path FROM tv_shows WHERE status = 'Y'"; 
       $result = $conn->query($sql); 

       if ($result->num_rows > 0) { 
        echo "<table><tr><th></th><th></th></tr>"; 
        // output data of each row 
        while($row = $result->fetch_assoc()) { 
         echo " 
         <tr> 
          <td> 
           <img src='../images/thumbnails/tv/".$row["thumbnail_path"]."'> 
          </td> 

          <td class='td_title'> 
           <a href='#' onclick='show_var_set();'>".$row["show_title"]."</a> 
          </td> 

          <td class='td_desc'>".$row["show_desc"]."</td> 
         </tr>"; 
        } 
        echo "</table>"; 
       } else { 
        echo "Error - 0 results were returned my the database. Please try again."; 
       } 
       $conn->close(); 
      ?> 

答えて

0

1つのオプションは、このページを指し、あなたが盗んできるGET変数を渡すためにあなたのhrefのリンクを変更することです。この方法には、ブックマークにGET変数が含まれているため、特定のショーをブックマークしてそのページに戻ることができます。

ですから、このような何かにあなたのリンクを変更することができます:

echo '<a href="thispage.php?show=', $row['show_title'], '">', $row['show_title'],'</a>'; 

次にあなたがGET変数を読み込み、そのショーのにページを移入するDBクエリを実行し、ためにテストすることによって、その変数を取得したいですデータ。ここで

はあなたのためにテストし、その変数を盗んしたい方法は次のとおりです。

if (isset($_GET['show'])) 
{ 
    $show = $_GET['show']; 
    // Perform database lookup using $show 
} 

は直接クエリに決してプットユーザー入力に覚えていますが、リスクを回避するために準備されたステートメントを使用して、ユーザーデータをバインドしますSQLインジェクション

0

ありページからページへ値を渡すには、多くの方法があるが、1つは、セッション変数を使用することです:

//Include this at the top of your php scripts that use session variables 
session_start(); 

$_SESSION['your_variable_name_here'] = value_you_want_to_store; 

その後、あなたはこの使用にアクセスしたいページ:

$someVariable = $_SESSION['your_variable_name_here']; 
0

変更show_idを返すために、SQL、

$sql = "SELECT show_id, show_title, show_desc, thumbnail_path FROM tv_shows WHERE status = 'Y'"; 

とそれをshow_var_set()関数のパラメータとして使用します。

<a href='#' onclick='show_var_set(".$row["show_id"].");'>".$row["show_title"]."</a> 

show_var_set()機能は、データベースからその番組の詳細情報を取得するためにそのパラメータを使用することができます。

関連する問題