用嵌套循環(huán)
專注于為中小企業(yè)提供成都網(wǎng)站制作、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)滕州免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
$exec0="select * from 表B";
$result0=mysql_query($exec0);
while($rs0=mysql_fetch_object($result0))
{
$category_name=$rs0-category_name;
echo $category_name."brbrbr"; //輸出B表中的商品類型
$exec1="select * from 表A where category_name=".$category_name; //查詢條件設(shè)為A表中的商品類型等于B表中的商品類型
$result1=mysql_query($exec1);
while($rs1=mysql_fetch_object($result1))
{echo $rs1-product_category."br"; } //循環(huán)輸出A商品中屬于B表商品類型的商品名
}
你用網(wǎng)頁的方式,讓人點(diǎn)擊,服務(wù)器采集,簡直是弱爆了。每個(gè)人的點(diǎn)擊循環(huán)1000次,來個(gè)100人同時(shí)點(diǎn),你要用的是普通的虛擬機(jī)就不行了。
最好是換種方式實(shí)現(xiàn),不要通過網(wǎng)頁進(jìn)行采集。
可以非常簡單的在數(shù)據(jù)庫的表,創(chuàng)建一個(gè)采集隊(duì)列,后臺(tái)執(zhí)行一個(gè)crontab的計(jì)劃任務(wù),去完成隊(duì)列里的采集任務(wù)。
方法1: 用file_get_contents 以get方式獲取內(nèi)容
[php] view plaincopyprint?
?php
$url='';
$html = file_get_contents($url);
echo $html;
?
方法2: 用fopen打開url, 以get方式獲取內(nèi)容
[php] view plaincopyprint?
?php
$fp = fopen($url, 'r');
//返回請求流信息(數(shù)組:請求狀態(tài),阻塞,返回值是否為空,返回值http頭等)
[php] view plaincopyprint?
stream_get_meta_data($fp);
[php] view plaincopyprint?
while(!feof($fp)) {
$result .= fgets($fp, 1024);
}
echo "url body: $result";
fclose($fp);
?
1.用js的setInterval+ajax來請求,PHP里面加條件判斷是否成功;
2.用PHP遞歸循環(huán)來做,如:
?php
function test($url)
{
echo $url.'\t\n--------';
$r = @file_get_contents($url);//我這里返回的是頁數(shù),如果沒有下一頁的時(shí)候返回0,停止執(zhí)行
echo $r;
if($r 0)
{
$url = ''.$r;
test($url);
}
else
{
echo 'fail';
}
}
$url = '';
$res = test($url);
?