我创建了一个名为movie的数据库,并且有一个名为test_image的表(id int autoincrement,name varchar(30),image blob)。借助php代码插入数据。现在我已经借助以下代码显示了图像:
<?php
$host="yourhostname";
$user="username";
$pass="password";
$db="movie";
// just so we know it is broken
error_reporting(E_ALL);
//connect to the db
$link = mysql_connect("$host", "$user", "$pass") or die("Could not connect: " . mysql_error());
// select our database
mysql_select_db("$db") or die(mysql_error());
// get the image from the db
$sql = "SELECT image FROM test_image;";
// the result of the query
$result = mysql_query("$sql") or die("Invalid query: " . mysql_error());
// set the header for the image
header("Content-type: image/jpeg");
echo mysql_result($result, 0);
// close the db link
mysql_close($link);
&GT;
它只显示一张图片 现在如果我想在数据库中幻灯片显示我必须做出哪些改变?
答案 0 :(得分:0)
你在代码中遗漏了一点
的mysqli
<?
//no more mysql_ means start using mysqli
$mysqli = new mysqli('host', 'username', 'password', 'database'); //connect
$query = "SELECT image FROM test_image"; // your query
$result = $mysqli->query($query); // Fetch Result
//now do something with that result
foreach ($result as $row){
echo "<img src=\"$row['image']\">";
}
?>
答案 1 :(得分:0)
现在我已经为幻灯片显示了js。我编写了这样的代码:
<?php
include "file_constants.php";//in this file connection is established with db
header('Content-Type: text/html; charset=utf-8');
$sql="SELECT * FROM test_image;";
$result=mysqli_query($con,$sql) or die("invalid query ".mysqli_error());
$array=array();
while($row=mysqli_fetch_array($result))
{
$array[]=$row['image'];
}
?>
<html>
<body>
<title>Slideshow</title>
<h1>Slideshow of images stored in mysql</h1>
<script language="javascript">
var delay=1000;
var curindex=0;
var randomimages=["$array[0]","$array[1]","$array[2]","$array[3]","$array[4]","$array[5]"];
var preload=[],img,curindex,tempindex;
for (var n=0;n<randomimages.length;n++)
{
img=new Image();
img.src=randomimages[n];
preload.push(img);
}
document.write('<img name="defaultimage" src="'+randomimages[Math.floor(Math.random()*(randomimages.length))]+'">');
function rotateimage()
{
if (curindex==(tempindex=Math.floor(Math.random()*(randomimages.length))))
{
curindex=curindex==0 ? 1 : curindex-1;
} else
{
curindex=tempindex;
}
document.images.defaultimage.src=randomimages[curindex];
}
window.setInterval(rotateimage,delay);
</script>
</body>
</html>
但是这段代码没有显示图片......
答案 2 :(得分:-1)
简单步行抛出结果集:
while($row = mysql_fetch_assoc($result)){
echo $row[0];
}
请注意你使用了obsolte功能。请使用mysqli(http://php.net/manual/de/book.mysqli.php)