2013-03-19 192 views
-2

我已经创建了一个名为movie的数据库,并且有名为test_image(id int autoincrement,name varchar(30),image blob)的表。数据插入与PHP的帮助code.Now我已经显示与下面的代码帮助图片:php + mysql图像幻灯片


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

>


,仅显示一个图像 现在如果我?想要在数据库中幻灯片的图像我必须做什么变化?

+0

很多变化。从不再使用'mysql_ *'函数开始。 – hjpotter92 2013-03-19 07:42:23

+0

[**请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql)。他们不再被维护[并被正式弃用](https://wiki.php.net/rfc/mysql_deprecation)。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://www.brightmeup.info/article.php?a_id=2)。 – 2013-03-19 07:43:02

回答

-1

简单的步行扔结果设置:

while($row = mysql_fetch_assoc($result)){ 
    echo $row[0]; 
} 

请把您使用obsolte功能。请使用mysqli的(http://php.net/manual/de/book.mysqli.php

+2

fyi pdo会比mysqli好 – 2013-03-19 07:43:45

+0

从下次我肯定会用mysqli_而不是mysql_ 这显示错误:undefined index 0 – user2060304 2013-03-19 07:50:42

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']\">"; 
} 
?> 
0

为images.I的幻灯片现在我已经包括JS已经editted我这样的代码:

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

但是这个代码不显示图像......

+0

可以找到为什么这段代码没有显示图片 – user2060304 2013-03-21 05:23:05