下一个帖子被删了

问下:如何解决PHP中的下一个帖子id,就是说有的id不存在啊:eg:这个帖子是136954,下一个就是368597,我想采集一下帖子,如果我输入136955,他就提示说帖子id不存在!他的帖子id要如何解决?给个思路
<br/>id不是自增减,因为有的帖子被干掉了,它的论坛显示的是最新回复帖子!但是链接id不一样啊………………问题描述完毕!
回复列表(16|隐藏机器人聊天)
  • @Ta / 2015-02-06 / /
    到底是哪个论坛?
    你现在这个贴的id明明是 69432。
  • @Ta / 2015-02-06 / /
    大啊!条件就是大于136954并且只返回一条数据
  • @Ta / 2015-02-06 / /
    @qzy,不是这个论坛的!我说的那个论坛里所有的帖子都是要审核的,不通过就删除了……
  • ygf
    @Ta / 2015-02-06 / /
  • @Ta / 2015-02-06 / /
    @xia,怎么加?
  • @Ta / 2015-02-06 / /
    @梦浪的小虾米,这个必须要从论坛网页源码上分析才行,你不说论坛名,再牛的大神也没办法啊。就像看病,病人却不亲自去,只叫朋友去描述情况,这又怎么能好呢。
  • @Ta / 2015-02-06 / /
    @xia,大神。这个怎么添加?
    <?php
    date_default_timezone_set('PRC');
    @ignore_user_abort(true);
    @set_time_limit(0);
    $uid=isset($_GET['uid'])?$_GET['uid']:NULL;
    @require("../conn.php");
    $db = @mysql_connect("$dbhost","$dbuser","$dbpassword") or
    die("
    <center>连接数据库失败,请稍后再试...
    </center>
    ");
    mysql_select_db("$dbmysql",$db);
    mysql_query("set names utf8");
    date_default_timezone_set("PRC");
    
    
    	    function get_match($get,$perl,$num){
    			if(preg_match_all('~'.$perl.'~is',$get,$a)){
    				return $a[$num];
    			}else{
    				return 0;
    			}
    		}
            function do_count($data){
    			//对要存进数据库的数据处理
    			$a=array('|1|','|2|','|3|','|4|','|5|','|6|','|7|','|8|','|9|','|10|');
    			$b=array(';','$',"'",'"','?','(',')','.','*',' ');
    			$data=str_replace($b,$a,$data);
    			return $data;
    		}
    		function did_count($data){
    			//对数据库提取的数据反处理
    			$a=array('|1|','|2|','|3|','|4|','|5|','|6|','|7|','|8|','|9|','|10|');
    			$b=array(';','$',"'",'"','?','(',')','.','*',' ');
    			$data=str_replace($a,$b,$data);
    			return $data;
    		}
    		function docount($docontent){ 
    			if(preg_match_all('~{(.*?)}=>{(.*?)}~ix',$docontent,$a)){
    				$x=0;
    				foreach($a[1] as $b){
    					$c=$a[2][$x];
    					$b=str_replace(array('[变量]','/'),array('(.*?)','\/'),$b);
    					$c=preg_replace('/\[变量(\d{1,2})\]/i','${\\1}',$c);
    					$array1[$x]='/'.$b.'/i';
    					$array2[$x]=$c;
    					$x++;
    				}
    				$z[0]=$array1;
    				$z[1]=$array2;
    				return $z;
    			}else{
    				return 0;
    			}
    		}
    echo'<meta http-equiv="content-type" content="text/html"; charset="utf-8">';
    $check=mysql_query("select*from caiji where uid='$uid' limit 1");
    if($row=mysql_fetch_array($check)){
    if($row['active']==1){
    	$url=str_replace('[变量]',$row['p'],$row['url']);
    	$title=did_count($row['title']);
    	$content=did_count($row['content']);
    	$title=str_replace(array('[变量]','[标题]'),array('(.*?)','(.*?)'),$title);
    	$content=str_replace(array('[变量]','[内容]'),array('(.*?)','(.*?)'),$content);
    	ini_set('user_agent','Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; 4399Box.560; .NET4.0C; .NET4.0E)');
    	$get1=file_get_contents($url);
    	function get_html($html){
    		$encode=mb_detect_encoding($html,array('UTF-8','gb2312','gbk'));
    		if($encode!='UTF-8'){
    			$html=iconv('GBK','UTF-8',$html);
    		}
    		return $html;
    	}
    	$get=get_html($get1);
    	    if($get==null){
    			echo"未获取任何内容,请检查你填写的网址:$url";			
    		}else{
    		if($a=get_match($get,$title,$row['title_count'])){
    			if($b=get_match($get,$content,$row['content_count'])){
    				if(count($a)==count($b)){
    					$dotitle=docount(did_count($row['dotitle']));
    					$docontent=docount(did_count($row['docontent']));
    					$now=date("y-m-d H:i:s");
    					$z=0;
    					$x=0;
    					$author_id=$row['author_id'];
    					$kind=$row['kind'];
    					foreach($a as $titles){
    					if($dotitle==0){
    					$titles=trim($titles);
    					}else{
    					$titles=preg_replace($dotitle[0],$dotitle[1],trim($titles));
    					}
    					if($docontent==0){
    					$contents=trim($b[$z]);
    					}else{
    					$contents=preg_replace($docontent[0],$docontent[1],trim($b[$z]));
    					}
    					$check_title=mysql_query("select 1 from article where title='$titles' limit 1");
    					if(!mysql_fetch_array($check_title)){
    					mysql_query("insert into article(author_id,title,content,active,scan,settime,up,down,share,city)values('$author_id','$titles','$contents',1,'$kind','$now',200,30,60,null)");
    					$x++;
    					}
    					$z++;
    					}
    					if($row['p']==1){
    					mysql_query("update caiji set settime='$now',count=count+$x where uid='$uid'");
    					}else{
    					mysql_query("update caiji set p=p-1,settime='$now',count=count+$x where uid='$uid'");
    					}
    					echo"成功采集{$x}条";
    				}else{
    					echo"标题或者内容采集规则不唯一<br>";
    					echo "标题".count($a)."个<br>";
    					echo "内容".count($b)."个<br>";
    					print_r($a);
    				    print_r($b);
    					
    				}
    			}else{
    				echo"内容采集规则不正确";
    			}
    		}else{
    			echo"标题采集规则不正确";
    		}
    		}
    }else{
    	echo "此采集规则已被暂停";
    }
    }else{
        header("Location:../index.php");
    }
    ?>
    
  • @Ta / 2015-02-06 / /
    @3srs-arox,我想用rand函数,因为我感觉它应该是min到max的六位数的范围!但是我不知道如何解决重复采集同一篇帖子的问题!想if判断但是我又怕运气太差,if判断了几百次都没采集到帖子
  • @Ta / 2015-02-06 / /
    @qzy,se城《说这个会被站长干掉的》
  • @Ta / 2015-02-06 / /
    @xia,我也想匹配,问题是不知道下一个id,,下一个为(100001,999999)中的一个,
  • @Ta / 2015-02-06 / /
    @qzy@xia,不说了,先去写写看,实践中才能解决问题,干谈论也没有用,实在不行我就一个个判断,是我就采集,不是我跳过……
  • @Ta / 2015-02-06 / /
    @梦浪的小虾米,目测楼主想干某些邪恶事,我还是不掺和了。
  • @Ta / 2015-02-06 / /
    $id=136954;
    $sql="select *from bbs limit '$id',1 order by id";上面的SQL可以调出下一个帖子@梦浪的小虾米,我是这么干的,链接就不要我帮你了吧
  • @Ta / 2015-02-06 / /
    @梦浪的小虾米,原来你说的别的网站,这个真没办法
  • @Ta / 2015-02-06 / /
    @梦浪的小虾米,用火车头。
  • ygf
    @Ta / 2015-02-06 / /
添加新回复
回复需要登录