0

現在、データベースから必要な情報を取得していますが、ドロップダウンの結果に応じて表示される情報を変更したいと考えています。私はいくつかの調査を行い、これを行う最善の方法はフォームを使用することだと思いますが、それがどのように機能するかはわかりません.

これが私が以下に持っているコードです:

      <section id="compare">

    <select>
      <option>Select Gym</option>       
      <option>fitness first</option>
      <option>anytime fitness</option>
      <option>the gym</option>
      <option>its leisure ltd</option>
      <option>the armoury</option>
    </select>
    <select>
      <option>Select Gym</option>       
      <option>fitness first</option>
      <option>anytime fitness</option>
      <option>the gym</option>
      <option>its leisure ltd</option>
      <option>the armoury</option>      
    </select>

    <section id="left"> 
    <?php

    mysql_select_db("gyms", $con);
    $result = mysql_query("SELECT * FROM gym WHERE id='1'") or die ('Error: '.mysql_error ());

        while($row = mysql_fetch_array($result)){
          echo "<h1>" . $row['name'] . "</h1>";
          echo "<p><h6>type</h6>" . $row['type'] . "</p>";
          echo "<p><h6>price</h6>" . $row['price'] . "</p>";
          echo "<p><h6>hours</h6>" . $row['hours'] . "</p>";
          echo "<p><h6>parking</h6>" . $row['parking'] . "</p>";
          echo "<p><h6>facilities</h6>" . $row['facilities'] . "</p>";
          } 
    ?>      
    </section>

    <section id="right">
    <?php
    $result = mysql_query("SELECT * FROM gym WHERE id='2'") or die ('Error: '.mysql_error ());

        while($row = mysql_fetch_array($result2)){
          echo "<h1>" . $row['name'] . "</h1>";
          echo "<p><h6>type</h6>" . $row['type'] . "</p>";
          echo "<p><h6>price</h6>" . $row['price'] . "</p>";
          echo "<p><h6>hours</h6>" . $row['hours'] . "</p>";
          echo "<p><h6>parking</h6>" . $row['parking'] . "</p>";
          echo "<p><h6>facilities</h6>" . $row['facilities'] . "</p>";
          } 

    mysql_close($con);
    ?>
    </section>

  </section>    
4

2 に答える 2

1

データベースに含まれる「id」フィールドと一致する、選択した値をフォームに投稿する POST メソッドを実装するフォームを使用する必要があります。

次に例を示します。

<form action="compare.php" method="post">
    <select name="gyms-1">
      <option value="0">Select Gym</option>         
      <option value="1">fitness first</option>
        </select>
    <select name="gyms-2">
      <option value="0">Select Gym</option>         
      <option value="1">fitness first</option>      
    </select>
    <input name="send" id="send" type="submit" value="compare" />
</form>

次に、post メソッドを実装する PHP コードを次に示します。

<?php
    $gyms=$_POST['gyms-1'];
    $jimmy=$_POST['gyms-2'];

    mysql_select_db("gyms", $con);
    $result = mysql_query("SELECT * FROM gym WHERE id='$gyms'") or die ('Error: '.mysql_error ());

        while($row = mysql_fetch_array($result)){
          echo "<h1>" . $row['COLUMN NAME'] . "</h1>";
          echo "<p><h6>type</h6>" . $row['COLUMN NAME'] . "</p>";
          } 

    $result2 = mysql_query("SELECT * FROM gym WHERE id='$jimmy'") or die ('Error: '.mysql_error ());

        while($row = mysql_fetch_array($result2)){
          echo "<h1>" . $row['COLUMN NAME'] . "</h1>";
          echo "<p><h6>type</h6>" . $row['COLUMN NAME'] . "</p>";
          } 

    mysql_close($con);
?>

これにより、ユーザーが選択した値に応じて、データベースに複数の行を表示できるようになります。どんな問題でも私に叫んでください!

于 2013-02-10T19:52:19.793 に答える
0

ユーザーjquery.change。たとえば、次の方法で:

   $("#left").change(function(){ 
    $("#right").html("[post your data]");
   });
于 2013-02-10T19:36:22.277 に答える