mysql - query runs one time in PHP -
i have created php file using while loop , when run php file using cron job, runs once!
/usr/bin/wget -o /dev/null http://alhyipmonitors.com/sites.php 1>/dev/null 2>&1
i have 22 monitor id's in monitor's database table selecting from.
here code:
$q='select * `monitors`'; $result=@mysql_query($q); while($row=@mysql_fetch_array($result)) { $mid = $row['mid']; $q='select * `monitors` `mid`="'.$mid.'"'; $result=mysql_query($q); $row=mysql_fetch_array($result); echo'<h2>'.$row['monitor_url'].'</h2>'; if($row['robot_target']) { $url=$row['robot_target']; $ch=curl_init(); curl_setopt($ch, curlopt_url,$url); $handle=fopen('src.txt','w'); curl_setopt($ch, curlopt_file, $handle); curl_exec($ch); curl_close($ch); fclose($handle); $handle=fopen('src.txt','r'); $html_code=fread($handle, filesize('src.txt')); fclose($handle); if($html_code!='') { if(preg_match_all($row['robot_pattern'], $html_code, $match)) { $i=0; $j=0; while($j<=50 && $match[$row['robot_id_index']][$i] && $match[$row['robot_key_index']][$i]) { $id=$match[$row['robot_id_index']][$i]; $key1=$match[$row['robot_key_index']][$i]; $key2=remove_extra_in_url($key1); $key3=remove_extra_in_string($key1); $key4=str_replace(' ','-',$key1); $button=$row['button_pattern'].$id.$row['end_button_pattern']; $details=$row['details_pattern'].$id.$row['end_details_pattern']; echo $i.'. id= <b>'.$id.'</b>, key1= <b>'.$key1.'</b>, key2= <b>'.$key2.'</b>, key3= <b>'.$key3.'</b>, key4= <b>'.$key4.'</b>, <a href="'.$button.'" target="_blank">button</a>, <a href="'.$details.'" target="_blank">details</a><br/>'; $q='select * `buttons` `button_url`="'.$button.'"'; if($num=mysql_num_rows(mysql_query($q))==0) { $q='select * `programs` `url` "%'.$key1.'%" or `url` "%'.$key2.'%" or `url` "%'.$key3.'%" or `url` "%'.$key4.'%" or `url`="'.$key2.'" order `pid` desc'; $result=mysql_query($q); $num=mysql_num_rows($result); if($num==1) { $program=mysql_fetch_array($result); $piid = $program['pid']; $urll = $program['url']; // attempt update query execution $data='update `programs` set `monitors`=`monitors`+1 pid="'.$program['pid'].'" , url="'.$program['url'].'"'; $val=mysql_query($data); if($val == 1){ $q='insert `buttons` values("","'.$program['pid'].'","'.$row['mid'].'","'.$details.'","'.$button.'")'; if(mysql_query($q)) echo'<div class="green">'.$program['url'].' -> added.</div>'; $j++; } } elseif($num>1) { while($program=mysql_fetch_array($result)) { echo'<div class="blue">'.$program['url'].' [ <a href="fr.php?a=add_button&mid='.$row['mid'].'&pid='.$program['pid'].'&bid='.$id.'" target="_blank">add program</a> ]</div>'; } $j++; } else echo'<b style="color: red;">not found</b><br/>'; } else echo'<b style="color: green;">button url exist</b><br/>'; echo'<br/><hr/>'; $i++; } } else echo'preg match -> not found'; } else echo'file contents -> error'; } else echo'robot target -> not fount'; }
every welcome, in advance!
it seems me reusing variable $result inside loop.
$q = 'select * `monitors`'; $result = @mysql_query($q); while( $row = @mysql_fetch_array($result) ) // <-- $result var { $mid = $row['mid']; $q = 'select * `monitors` `mid`="'.$mid.'"'; // $result = mysql_query($q); // <--- overwrite $result var $result1 = mysql_query($q); // <--- use different var name $row = mysql_fetch_array($result1); // <--- change here echo'<h2>'.$row['monitor_url'].'</h2>'; // more code etc }
Comments
Post a Comment