Affichage de l'image à partir de sql
J'ai créer une table où j'ai enregistré les images par le biais de "BLOB". J'ai besoin de montrer ces images avec d'autres éléments. Mais je ne sais pas comment faire pour afficher ces images dans la même page.
Voici mon code php qui affiche d'autres choses dans la forme d'un tableau. De même, je voulais afficher les images en conséquence. Toute aide?
<?php
$display_query = mysql_query("SELECT * FROM eportal");
echo "<table id='pageTable'><thead><tr><th>Item code</th><th>Description</th><th>Cost</th></tr></thead>";
echo "<tbody>";
while($row = mysql_fetch_array($display_query)){
print "<tr><td>".$row['itemid']."</td><td>".$row['description']."</td><td>";
print "₹".$row['cost']."</td></tr>";
}
echo "</tbody>";
echo "</table>";
mysql_close($connection);
?>
- Enregistrement d'Image dans la base de données est une mauvaise idée, vous devez les stocker seulement le chemin de l'image dans la base de données, et de stocker l'image sur le disque, veuillez vérifier mes [répondre ](stackoverflow.com/a/9141116/996493)
- Je suis d'accord avec Lucifer. Cela signifie également que vos images, etc, peuvent être stockées sur un serveur autre que votre Serveur SQL server. Ceci permet de libérer de la capacité sur votre Serveur SQL server (réseau, cpu, disque, tout) pour SQL réelles de travail, plutôt que d'agir comme un serveur de fichiers.
- Ok. Donc je devrais tout simplement l'enregistrer sur mon disque dur et économiser le chemin d'accès sur la base de données et l'utilisation de "echo"/"imprimer"; afficher les images une par une, comme des boucles.
Vous devez vous connecter pour publier un commentaire.
Que les autres personnes mentionnées, le stockage des images dans la base de données est généralement une mauvaise idée.
Les Images ne sont pas transmis dans le même
HTTP
réponse à une autre page de données.Pour afficher des images à partir de la base de données, vous devez implémenter un script qui, compte tenu de l'id de l'élément, de lire le terrain et envoyer l'image binaire de données; et de fournir le chemin vers le script dans votre formulaire
<img src="">
:image.php
est un autre script qui affiche la valeur deimage_blob
compte tenu de laeportal.id
. Vous aussi, vous avez besoin de fournir de la bonne taille et le type mime dans les en-têtes.Il est préférable de simplement stocker les images dans un fichier (accessible par le serveur web) et de stocker le chemin d'accès pour le fichier dans la base de données.
echo '<img src="resources/wh/'.$row['itemid'].'.png" title="'.$row['itemid'].'"/>';
<y compris le dossier racine>. En fait, j'étais un débutant. Mais que le concept est devenu clair pour moi à propos de PHP; j'ai abordé cette question. Merci.Sauvegarde des images dans le DB n'est pas une bonne idée, mais si Vous pensez que Vous avez besoin pour cela de cette façon, alors Vous pouvez récupérer les données à partir de la table DB, l'encoder en base64 (http://php.net/base64_encode) et ensuite dans le HTML d'impression dans cette voie:
À l'aide de PHP, on peut écrire:
echo '<img src="resources/'.$row['itemid'].'.png" title="'.$row['itemid'].'"/>';
<y compris le dossier racine>. En fait, j'étais un débutant. Connaître les concepts de base qui m'a aidé à faire face.Lire les données Blob et l'écrire dans le fichier d'en-tête d'image de type.. et essayer de l'imprimer, Il doit afficher le fichier image.
Et oui enregistrement d'image ou de n'importe quel fichier en DB est vraiment une mauvaise habitude, comme vous augmentez DB taille et de ralentissement de la performance aussi.. je vous suggère de simplement essayer de vous convertir Blob dans l'Image, mais ne s'appliquent pas dans votre travail. Il suffit d'enregistrer l'image à l'emplacement désiré et garder son emplacement en DB pour extraire et enregistrer la prochaine fois.
Le débat de stocker des objets blob rapport à stocker un chemin vers le fichier image sur le disque a été débattu maintes et maintes fois. Microsoft fournit un document de recherche comparant les avantages et les inconvénients de chaque ici. Cela dit, pour afficher un objet blob comme une image, vous devez faire un appel à une page distincte et de sortie des informations d'en-tête qui indique au navigateur le type de l'image est stockée.
Par exemple:
Dans le cas où vous souhaitez enregistrer vos images dans la base de données, vous aurez besoin de second script qui vous permettra d'atteindre ces images à partir de la base de données et les transmettre au navigateur avec les bons en-têtes.
Aussi, vous aurez besoin de stocker ce genre d'image u utilisation. Il y aura en-tête différent pour le format JPEG, GIF ou PNG.
echo '<img src="resources/'.$row['itemid'].'.png" title="'.$row['itemid'].'"/>';
<y compris le dossier racine>. En fait, j'étais un débutant. Connaître les concepts de base qui m'a aidé à faire face.