2016-06-13 20 views
-1

Es ist nur anzeigen das erste Bild und zu stoppen. ich denke, die Schleife stoppt nach Anzeige des ersten Bildes. Wie kann ich es beheben?Das php code display erste bild nur

<?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

Ich verstehe Ihre Frage nicht wirklich, aber ja mit Ihrem Skript sollten Sie nur 1 Bild anzeigen, weil Sie die 'header' einstellen, um ein' jpg' zu sein, denn Sie können nicht mehr als 1 anzeigen. – cmorrissey

+0

Dann Was muss ich tun, um mehr Bild zu zeigen? – Achy

+1

** WARNUNG **: Wenn Sie nur PHP lernen, verwenden Sie bitte nicht die [mysql_query'] (http://php.net/manual/en/function.mysql-query.php) Schnittstelle. Es ist so schrecklich und gefährlich, dass es in PHP 7 entfernt wurde. Ein Ersatz wie [PDO ist nicht schwer zu erlernen] (http://net.tutsplus.com/tutorials/php/why-you-should-beusing-phps) -pdo-for-database-access /) und ein Leitfaden wie [PHP The Right Way] (http://www.phptherightway.com/) erläutert Best Practices. Verwenden Sie außerdem den Fehler unterdrückenden '@' Operator sehr sparsam, nicht aus Gewohnheit. – tadman

Antwort

1

Dies ist Ihr Anhaltspunkt:

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

Vermutlich aus so etwas wie ein <img> Tag angefordert wird, obwohl es von etwas wirklich angefordert werden.

Dies kann durch HTTP-Design eine Bild zurückgeben. Das ist alles. Wenn der Browser mehr als einen zurückgibt, wie würde er dann wissen, was er mit dieser Antwort anfangen soll?

Dieser serverseitigen Code einen Eingang für eine Art Kennung für das Bild, zum Beispiel umfassen soll:

SELECT image FROM test_image WHERE id=? 
:

$_GET['id'] 

Dann würden Sie, dass in der Abfrage verwenden

So wird der Browser/Client/etc. kann angeben, welches Bild angefordert wird. Dann der Browser/Client/etc. kann mehrere separate Anforderungen (mit unterschiedlichen Bezeichnern) für mehrere Bilder erstellen.

Um also beispielsweise eine Liste von <img> Tags zu haben, würde der Seitencode selbst nur die Liste der Bezeichner auswählen. Es wäre dann ausgegeben diese Tags:

<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. ---> 

Jeden derartiger Tag in einem gesonderten Antrag zu diesem Bild-Handler-Code führen würde, die diese Kennung für diese Anforderung zurück das Bild verwenden würde.

Verwandte Themen