$xiaoid=$_post['xsid_xiao'];//post最小id$daid=$_post['xsid_da'];//post最大id$chaid=select * from xs where id>='$xiaoid' and sidquery($chaid);while($rs=$rsid->fetch_assoc()){ $ming=$rs['leiming'];//循环出类名; $chaming=select * from shitu where toming='$ming'; $cha=$mysqli->query($chaming); while($row=$cha->fetch_assoc()){ $neirong.=$row['neirong'];//如这个类下很多文章,使用 $neirong. 连接起来 } $ming=iconv(utf-8,gbk,$ming);//在win平台下转编码。 $wei='../txt/'.$ming.'.txt';//设置生成路径。 $weizhi=fopen($wei,'w')or die(can't open file); fwrite($weizhi,$neirong);//生成 fclose($weizhi); $mysqli->close();}
功力只能想到这些了。想不出来怎么处理,错误了。求修改。
1:按id 从小到大 循环出类名,
2:在循环类名下所有文章,
3:把一个类下所有文章生成为一个txt。
回复讨论(解决方案) 既然错误了,为什么不贴出错误。
既然错误了,为什么不贴出错误。
他没错误呢。提交过去是空白。ie提示500错误。
php.ini 中令 display_errors=on
然后重启服务器运行看看
php.ini 中令 display_errors=on
然后重启服务器运行看看
呵呵,一样是500错误。
什么环境?清一下缓存看看。firefox 测试如何?
套红的部分有问题!
$xiaoid=$_post['xsid_xiao'];//post最小id
$daid=$_post['xsid_da'];//post最大id
$chaid=select * from xs where id>='$xiaoid' and sidquery($chaid);
while($rs=$rsid->fetch_assoc()){
$ming=$rs['leiming'];//循环出类名;
$chaming=select * from shitu where toming='$ming';
$cha=$mysqli->query($chaming);
while($row=$cha->fetch_assoc()){
$neirong.=$row['neirong'];//如这个类下很多文章,使用 $neirong. 连接起来
}
$ming=iconv(utf-8,gbk,$ming);//在win平台下转编码。
$wei='../txt/'.$ming.'.txt';//设置生成路径。
$weizhi=fopen($wei,'w')or die(can't open file);
fwrite($weizhi,$neirong);//生成
fclose($weizhi);
$mysqli->close();
}
套红的部分有问题!
$xiaoid=$_post['xsid_xiao'];//post最小id
$daid=$_post['xsid_da'];//post最大id
$chaid=select * from xs where id>='$xiaoid' and sidquery($chaid);
while($rs=$rsid->fetch_assoc()){
$ming=$rs['leiming'];//循环出类名;
$chaming=select * from shitu where toming='$ming';
$cha=$mysqli->query($chaming);
while($row=$cha->fetch_assoc()){
$neirong.=$row['neirong'];//如这个类下很多文章,使用 $neirong. 连接起来
}
$ming=iconv(utf-8,gbk,$ming);//在win平台下转编码。
$wei='../txt/'.$ming.'.txt';//设置生成路径。
$weizhi=fopen($wei,'w')or die(can't open file);
fwrite($weizhi,$neirong);//生成
fclose($weizhi);
$mysqli->close();
}
假如不使用 $row['neirong'] 就是这个类别下的1个文章,循环出来赋值给1个变量,使用变量加点连接起来,集合成一个变量,然后赋值为一个txt文本内容,我想不到更好的办法。不知道还有其他办法不?
不是说不能 $neirong.=$row['neirong']; 这样写
而是由于 $neirong 没有初值,导致所有的查询结果都会被附加在其中,最终可能因内存不足而失败
何况也不符合你文章按类别归类的初衷
主要的问题在 $mysqli->close();
你是在外层循环中关闭数据库连接的,当 $xiaoid ≠ $daid 时将造成第二轮的 $cha=$mysqli->query($chaming); 失败
如果没有开启php的错误显示功能,则会导致web服务器出现500错
这样写就可以了 $sql = select * from xs, shitu where xs.leiming=shitu.toming and xs.id>='$xiaoid' and xs.sidquery($sql);while($rs=$rsid->fetch_assoc()){ $ming=$rs['leiming'];//循环出类名; $ming=iconv(utf-8,gbk,$ming);//在win平台下转编码。 $wei='../txt/'.$ming.'.txt';//设置生成路径。 file_put_contents($wei, $rs['neirong'], file_append);}$mysqli->close();