已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: 这段代码怎么救?php大神快来啊

作者: @Ta

时间: 2014-10-04

点击: 4016

<?php
include('a.php');
include('connect.php');
$xhs=(int)($count/20);
for ($x=0; $x<=$xhs; $x  ) {
$xiao=20*$xhs; 
$da=20*($xhs 1); 
$qqselect_sql="select * from QQsign WHERE id>$xiao and id<=$da";
$qqselect_result=mysql_query($qqselect_sql);
##数据获得
while($array=mysql_fetch_array($qqselect_result)){
class z_class{
function  is_zan($qq,$sid){
$this->contents=file_get_contents("http://ish.z.qq.com/infocenter_v2.jsp?B_UID={$qq}&sid={$sid}&g_ut=1");
##判断是否赞过,如果没有赞过,则得到他的赞的地址 
preg_match_all('@<a href="http://blog(\d)0.z.qq.com/like/like_action.jsp(.*)">赞\(\d{1,}\)</a>@Ui',$this->contents,$this->url_array);
##得到含大量需要赞的地址
$n=count($this->url_array['2']);
$this->zz=$zan $n;
for($i=0;$i<$n;$i  ){
$this->url="http://blog".$this->url_array['1'][$i]."0.z.qq.com/like/like_action.jsp".$this->url_array['2'][$i];
file_get_contents(html_entity_decode($this->url));
}
}

$qq=$array['qq'];
$sid=$array['sid'];
$zan=new z_class();
$zan->is_zan($qq,$sid);
}

}
?>
这就是那个说说赞的核心代码了,我在外边加了个for循环,本来我的意思是想如果号码过多每回只执行20个号的赞操作,先获取数据库QQ总数,除以20得到整数作为for循环数,通过for循环分批访问,da  xiao变量用where获取每批号码的id范围,然后就是赞这些id的号码
但是经过测试不管用啊,貌似这样只有id为0的号码会正常执行,其它都没用啊,请问我的想法哪里错误了?求指教

[隐藏样式|查看源码]


『回复列表(11|隐藏机器人聊天)』

1. 加号被网站吃了,帖子空格部分是加号
(/@Ta/2014-10-04 18:20//)

2. @net909,求救
(/@Ta/2014-10-04 18:30//)

3. @awayar,目测楼主在用JAVA
用的大UC发帖
(/@Ta/2014-10-04 18:37//)

4. @读书顶个鸟用,你咋知道的
(/@Ta/2014-10-04 18:56//)

5. 我在想是不是where函数错误
(/@Ta/2014-10-04 19:06//)

6. 这变量的命名不忍直视
(/@Ta/2014-10-04 19:20//)

7. 救?
(/@Ta/2014-10-04 19:42//)

8. 你必须要记录执行的过程,比如在数据库中专门创建一个数值用来记录,下一次才能继续往下执行,否则每次都是从头开始。
(/@Ta/2014-10-04 20:04//)

9. @浪人,怎样命名才高大上?用big和small?
(/@Ta/2014-10-05 11:13//)

10. @net909,如果是本地软件,我觉得我的思路还是可行的,换成网络编程就不管用了,可见还是有点不同
(/@Ta/2014-10-05 11:15//)

11. @awayar,你可以去看看一些大型程序的变量命名
(/@Ta/2014-10-05 14:45//)

回复需要登录

9月8日 20:07 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1