PHP动态取得的数组值如何传入javascript??

javy101 2005-12-06 03:58:33
我从数据库中取得了以下PHP数组值
<?php 这里连数据库是成功的,略去!
$sql = "SELECT id,title,img,content FROM main WHERE fid=0 AND sid=1 AND img<>'' ORDER BY time DESC limit 0,5";
$result=mysql_query($sql);
$i=0;
while($a=mysql_fetch_array($result))
{ //echo $a[0];
$news_img_a=explode(":",$a['img']);
$pic[$i]="/safety/main/".$news_img_a[0];
$url[$i]="/safety/view.php?id=".$a['id'];
$alt[$i]=getTitle($a['title']);
$i++;
}
echo $pic[0]."<br>"; / 取得的值 /safety/main/20051127173015.gif
echo $pic[1]."<br>"; // 取得的值 /safety/main/20051126150605.jpg
echo $pic[2]."<br>"; // 取得的值 /safety/main/20051019165714.jpg
echo $pic[3]."<br>"; // 取得的值 /safety/main/20050922095458.jpg

?>
现想把这个$ pic[]这个数组的值,放入 javascript ,在javascript里如何实现啊?这个数组里的值主要是作为图片新闻在首页的动态显示的.可以做成动态的链接的,图片一张一张显示是通过javascript实现的.现请高手指点,谢谢!下面附上javascript程序:

<script language="JavaScript1.2">

//Presentational Slideshow Script- By Dynamic Drive
//For full source code and more DHTML scripts, visit http://www.dynamicdrive.com
//This credit MUST stay intact for legal use

var slideshow_width='100px' //SET SLIDESHOW WIDTH (set to largest image's width if multiple dimensions exist)
var slideshow_height='100px' //SET SLIDESHOW HEIGHT (set to largest image's height if multiple dimensions exist)
var pause=3000 //SET PAUSE BETWEEN SLIDE (2000=2 seconds)
var slidebgcolor="white"

var dropimages=new Array()
//SET IMAGE PATHS. Extend or contract array as needed
dropimages[0]="bs00825a.gif"
dropimages[1]="bs00847a.gif"
dropimages[2]="hh01478a.gif"

var droplinks=new Array()
//SET IMAGE URLs. Use "" if you wish particular image to NOT be linked:
droplinks[0]="http://www.yahoo.com"
droplinks[1]=""
droplinks[2]="http://www.google.com"


////NO need to edit beyond here/////////////

var preloadedimages=new Array()
for (p=0;p<dropimages.length;p++){
preloadedimages[p]=new Image()
preloadedimages[p].src=dropimages[p]
}

var ie4=document.all
var dom=document.getElementById

if (ie4||dom)
document.write('<div style="position:relative;width:'+slideshow_width+';height:'+slideshow_height+';overflow:hidden"><div id="canvas0" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';background-color:'+slidebgcolor+';left:-'+slideshow_width+'"></div><div id="canvas1" style="position:absolute;width:'+slideshow_width+';height:'+slideshow_height+';background-color:'+slidebgcolor+';left:-'+slideshow_width+'"></div></div>')
else
document.write('<a href="javascript:rotatelink()"><img name="defaultslide" src="'+dropimages[0]+'" border=0></a>')

var curpos=parseInt(slideshow_width)*(-1)
var degree=10
var curcanvas="canvas0"
var curimageindex=linkindex=0
var nextimageindex=1


function movepic(){
if (curpos<0){
curpos=Math.min(curpos+degree,0)
tempobj.style.left=curpos+"px"
}
else{

clearInterval(dropslide)
nextcanvas=(curcanvas=="canvas0")? "canvas0" : "canvas1"
tempobj=ie4? eval("document.all."+nextcanvas) : document.getElementById(nextcanvas)
var slideimage='<img src="'+dropimages[curimageindex]+'" border=0>'
tempobj.innerHTML=(droplinks[curimageindex]!="")? '<a href="'+droplinks[curimageindex]+'">'+slideimage+'</a>' : slideimage
nextimageindex=(nextimageindex<dropimages.length-1)? nextimageindex+1 : 0
setTimeout("rotateimage()",pause)
}
}

function rotateimage(){
if (ie4||dom){
resetit(curcanvas)
var crossobj=tempobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
crossobj.style.zIndex++
var temp='setInterval("movepic()",50)'
dropslide=eval(temp)
curcanvas=(curcanvas=="canvas0")? "canvas1" : "canvas0"
}
else
document.images.defaultslide.src=dropimages[curimageindex]
linkindex=curimageindex
curimageindex=(curimageindex<dropimages.length-1)? curimageindex+1 : 0
}

function rotatelink(){
if (droplinks[linkindex]!="")
window.location=droplinks[linkindex]
}

function resetit(what){
curpos=parseInt(slideshow_width)*(-1)
var crossobj=ie4? eval("document.all."+what) : document.getElementById(what)
crossobj.style.left=curpos+"px"
}

function startit(){
var crossobj=ie4? eval("document.all."+curcanvas) : document.getElementById(curcanvas)
crossobj.innerHTML='<a href="'+droplinks[curimageindex]+'"><img src="'+dropimages[curimageindex]+'" border=0></a>'
rotateimage()
}

if (ie4||dom)
window.onload=startit
else
setInterval("rotateimage()",pause)

</script>
...全文
279 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tooyoman 2005-12-07
  • 打赏
  • 举报
回复
直接输出就好!
zalvsa 2005-12-06
  • 打赏
  • 举报
回复
识别啊,LZ自己去试一下就知道了。
javy101 2005-12-06
  • 打赏
  • 举报
回复
对于zalvsa的指导 问题就是,在 <script></script>中放入<? ?>在javascript里是不能识别的啊,认为是不合法的代码吧
对于 assassin 的指导.我在试一下,以前没有用过,先谢谢两位了.
assassin5616 2005-12-06
  • 打赏
  • 举报
回复
就是用php把javascript代码打出来就可以了啊,比如说你用php从数据库里得到一个字符串'123456'放在$b里面,然后你想用javascript把$b打印出来,那就这样写就可以了:
print <<<END
<script type = "text/javascript">
alert({$b}
</script>
END;
这样就把变量传过去了,基本上php到javascript传递变量就是这样了
zalvsa 2005-12-06
  • 打赏
  • 举报
回复
你的JS有点长啊。
如果PHP在前,JS代码在后,只要直接在JS中这样写
a = '<?php echo $pic[0];?>'
如果PHP在后,JS在前,就得不到值了,除非你通过某种方式刷新该页面,通过.php?参数=参数值这样传递。当然数组是不能直接传递的,要通过转换。查一下手册的implode和explode函数就知道要怎么处理了。

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧