2016-06-13 16 views
-1

これは最初の画像を表示して停止するだけです。 私は最初の画像を表示した後にループが止まると思います。 どうすれば修正できますか?そのPHPコードは最初の画像を表示するだけです

<?php 
    header('Content-type: image/JPG'); 
    $username = "root"; 
    $password = ""; 
    $host = "localhost"; 
    $database = "game_world"; 
    @mysql_connect($host, $username, $password) or die("Can not connect to database: ".mysql_error()); 
    @mysql_select_db($database) or die("Can not select the database: ".mysql_error()); 
    $sql = mysql_query("SELECT image FROM test_image"); 
    while($row = mysql_fetch_array($sql)) 
    { 
    echo $row['image']; 
    } 
    ?> 
+0

私は本当にあなたの質問を理解していませんが、あなたのスクリプトでは、 'header 'を' jpg'に設定しているので1イメージしか表示しないようにしてください。 – cmorrissey

+0

私はもっ​​とイメージを表示するために何をする必要がありますか? – Achy

+1

**警告**:PHPを学んでいるだけの方は、[mysql_query'](http://php.net/manual/en/function.mysql-query.php)インタフェースを使用しないでください。それはPHP 7で削除されたのでとてもひどいと危険です。[PDOのようなものは学ぶのが難しくない](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)と[PHP The Right Way](http://www.phptherightway.com/)のようなガイドがベストプラクティスを説明しています。さらに、エラー抑制 '@'演算子は、習慣上の問題ではなく、控えめに使用してください。 – tadman

答えて

1

これはあなたの手がかりである:それは本当に何から要求することができても

header('Content-type: image/JPG'); 

は、おそらくこれは、<img>タグのようなものから要求されます。

これは、HTTPデザインで、の1つをイメージに返すことができます。それで全部です。結局のところ、それが複数返ってきた場合、ブラウザはそのレスポンスをどうすればいいのか分かりますか?

このサーバー側のコード例えば画像の識別子のいくつかの種類の入力を、含まれている必要があります

$_GET['id'] 

その後、クエリでそれを使用したい:

SELECT image FROM test_image WHERE id=? 

そのようにブラウザ/クライアント/ etc。どのイメージが要求されているかを指定できます。その後、ブラウザ/クライアント/ etc。複数の画像に対して複数の別々の要求を(異なる識別子を使用して)行うことができます。

したがって、例えば<img>タグのリストを持つためには、ページコード自体は識別子のリストのみを選択します。これは、出力それらのタグになります。

<img src="image.php?id=1" /> 
<img src="image.php?id=2" /> 
<img src="image.php?id=3" /> 
<img src="image.php?id=4" /> 
<!--- etc. ---> 

各そのようなタグは、その要求のための画像を返すようにその識別子を使用し、この画像ハンドラコードへの別の要求をもたらします。

関連する問題