php读取数据库数据并写入JS
先谢谢各位,我是一名PHP新手哈<?phprequire_once('inc/conn.php');mysql_query("setnamesutf8");$exec="...
先谢谢各位,我是一名PHP新手哈
<?php
require_once('inc/conn.php');
mysql_query("set names utf8");
$exec="select * from news";
$result=mysql_query($exec,$conn);
while($rs=mysql_fetch_object($result))
{
$a=array(
array('title'=>$rs->title,ln=>$rs->path)
);
}
$news=' var a=['; //把该数组转化为javascrīpt形式
for($i=0;$i<count($a);$i++) {
if($i==count($a)-1) {
$news.='{'
."title:'"
.$a[$i][title]."'"
.","
."ln:'"
.$a[$i][ln]
.'\'}';
}else {
$news.='{'
."title:'"
.$a[$i][title]."'"
.","
."ln:'"
.$a[$i][ln]
.'\'},'; //如不是最后一个数据,则用逗号隔开,否则结束
}
}
$news.='];';
$fh=fopen("file.js","w");
fwrite($fh,$news);
fclose($fh); //写入js
?>
这个能生成JS文件,但是只能显示一条记录,请问该如何循环!
或者直接给一段直接生成PHP读取数据库记录并生成JS文件的代码!
谢谢!
array_push语句该怎么写啊,我是一个初学者,真的不会,帮帮忙写写啦、 展开
<?php
require_once('inc/conn.php');
mysql_query("set names utf8");
$exec="select * from news";
$result=mysql_query($exec,$conn);
while($rs=mysql_fetch_object($result))
{
$a=array(
array('title'=>$rs->title,ln=>$rs->path)
);
}
$news=' var a=['; //把该数组转化为javascrīpt形式
for($i=0;$i<count($a);$i++) {
if($i==count($a)-1) {
$news.='{'
."title:'"
.$a[$i][title]."'"
.","
."ln:'"
.$a[$i][ln]
.'\'}';
}else {
$news.='{'
."title:'"
.$a[$i][title]."'"
.","
."ln:'"
.$a[$i][ln]
.'\'},'; //如不是最后一个数据,则用逗号隔开,否则结束
}
}
$news.='];';
$fh=fopen("file.js","w");
fwrite($fh,$news);
fclose($fh); //写入js
?>
这个能生成JS文件,但是只能显示一条记录,请问该如何循环!
或者直接给一段直接生成PHP读取数据库记录并生成JS文件的代码!
谢谢!
array_push语句该怎么写啊,我是一个初学者,真的不会,帮帮忙写写啦、 展开
2个回答
展开全部
问题在这句代码上:
while($rs=mysql_fetch_object($result)){
$a=array(array('title'=>$rs->title,ln=>$rs->path));
}
你每次都用“=”赋值把原来的数组$a覆盖掉了,所以循环到最后只有最后一个结果,就是你所说的“只能显示一条记录”。
使用array_push就可以解决问题,至于具体语句怎么写你自己琢磨一下吧,这样印象才能深刻。
服了,代码如下:
$a = array();
while($rs=mysql_fetch_object($result)){
array_push($a,array('title'=>$rs->title,ln=>$rs->path));
}
while($rs=mysql_fetch_object($result)){
$a=array(array('title'=>$rs->title,ln=>$rs->path));
}
你每次都用“=”赋值把原来的数组$a覆盖掉了,所以循环到最后只有最后一个结果,就是你所说的“只能显示一条记录”。
使用array_push就可以解决问题,至于具体语句怎么写你自己琢磨一下吧,这样印象才能深刻。
服了,代码如下:
$a = array();
while($rs=mysql_fetch_object($result)){
array_push($a,array('title'=>$rs->title,ln=>$rs->path));
}
展开全部
问题在这句代码上:
while($rs=mysql_fetch_object($result)){
$a=array(array('title'=>$rs->title,ln=>$rs->path));
}
你每次都用“=”赋值把原来的数组$a覆盖掉了,所以循环到最后只有最后一个结果,就是你所说的“只能显示一条记录”。
使用array_push就可以解决问题,至于具体语句怎么写你自己琢磨一下吧,这样印象才能深刻。
服了,代码如下:
$a = array();
while($rs=mysql_fetch_object($result)){
array_push($a,array('title'=>$rs->title,ln=>$rs->path));
}
while($rs=mysql_fetch_object($result)){
$a=array(array('title'=>$rs->title,ln=>$rs->path));
}
你每次都用“=”赋值把原来的数组$a覆盖掉了,所以循环到最后只有最后一个结果,就是你所说的“只能显示一条记录”。
使用array_push就可以解决问题,至于具体语句怎么写你自己琢磨一下吧,这样印象才能深刻。
服了,代码如下:
$a = array();
while($rs=mysql_fetch_object($result)){
array_push($a,array('title'=>$rs->title,ln=>$rs->path));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询