0

私がやろうとしているのは、ドロップダウンからアイテムが選択されたときに画像を変更することです。これはフォームの一部であるため、値を変更することはできません。ただし、オプション値は行 ID であり、その行には画像のターゲットも含まれます。しかし、ターゲットの「ファイル」はループの外で呼び出されるため、起動していません。

最初にループ内で呼び出す必要があると読みましたが、機能させることができません。以下のコードを見て、ヒントを教えていただけませんか?

ありがとう

    <?php

include ("conned-db.php");

$result = mysql_query("SELECT * FROM gallery") 
or die(mysql_error());  

echo "<select id='gallery_id' name='gallery_id' style='width:200px;' >";


while($row = mysql_fetch_array( $result ))
{
echo '<option value=' . $row['id'] . '>';
echo $row['gallery_name'];
echo '</option/>';
}
echo "</select>";
echo "</td>";
echo "<td colspan='2' rowspan='2'>";
echo '<img src=' .$row['file']. '/></td>';

    ?>
4

3 に答える 3

2

これを試してください、これがあなたが探しているものだと思います

このようなことをしたい場合は、Ajax を使用する必要があります。ここでは、Ajax について理解するのに役立つリンクにアクセスします。

http://www.w3schools.com/php/php_ajax_database.asp

ノート:

フォームを送信する唯一の方法はボタンを押してコンテンツを送信することであるため、Javascript を使用しない PHP のみにしたい場合は、「更新してはならない」という制約を犠牲にする必要があります。

于 2012-04-17T04:33:18.863 に答える
1

これもうまくいくはずです。ajax を使用してページをロードするときに画像のファイルの場所が利用できる場合は、必須ではありません。必要なファイルの場所を取得するためにサーバーに再度クエリを実行する必要がある場合は、ajax を使用する必要があります。次のコードは、ページの読み込み時にドロップダウン リストの各項目の画像の場所があることを前提としています。

<select id='gallery_id' name='gallery_id' style='width:200px;' 
  onchange='document.getElementById("image").src=this.options[this.selectedIndex].title' >
 <?php
 while($row = mysql_fetch_array( $result ))
 {
  ?>
   <option value='<?php echo $row["id"]; ?>' title='<?php echo $row["file"]; ?>'> 
        <?php echo $row["gallery_name"]; ?>
   </option>
  <?php
  }
  ?>
<img id="image" />
于 2012-04-17T04:38:18.040 に答える
0

これは、Java scrip と php を実装する短い例です。選択した ID に基づいて画像の src を更新し、その ID に基づいて特定の src で変更することができます。

<?php

    include ("conned-db.php");
    $item = $_GET["imageid"];
    if ($item == "")
    {
        $item = 1;
    }

    $result = mysql_query("SELECT * FROM gallery") 
    or die(mysql_error());  
   ?>
    <select id='gallery_id' name='gallery_id' onChange="window.location='file.php?imageid='+this.value" style='width:200px;' >
    <?

    while($row = mysql_fetch_array( $result ))
    {
    echo '<option value=' . $row['id'] . '>';
    echo $row['gallery_name'];
    echo '</option/>';
    }
  ?>
    </select>
    </td>
<?
    echo "<td colspan='2' rowspan='2'>";
?>
    <img src=' <?=$item?> '/></td>
于 2012-04-17T04:35:51.037 に答える