拿下面這段單獨建個頁面,改一下你的數(shù)據(jù)庫名,表等信息試試。
在懷安等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供網(wǎng)站設計制作、做網(wǎng)站 網(wǎng)站設計制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站制作,成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站建設公司,懷安網(wǎng)站建設費用合理。
table width="50%" border="0"
tr
tdID/td
tdID2/td
tdorder1/td
tdorder2/td
tdorder3/td
/tr
?php
//連接數(shù)據(jù)庫
$conn=@ mysql_connect("服務器地址","用戶名","密碼") or die("連接數(shù)據(jù)庫失敗!");
mysql_select_db("數(shù)據(jù)庫名",$conn) or die("連接數(shù)據(jù)庫失敗!");
mysql_query("set names 'GBK'");
//連接結(jié)束
//接收提交過來查詢的ID
$id=$_POST["id"];
//查詢數(shù)據(jù)庫相關數(shù)據(jù)
$sql="select * from 數(shù)據(jù)表名 where ID2='".$id."' order by id desc";
$query=mysql_query($sql);
//循環(huán)輸出
while($row=mysql_fetch_array($query)){
?
tr
td?php echo $row["ID"];?/td
td?php echo $row["ID2"];?/td
td?php echo $row["order1"];?/td
td?php echo $row["order2"];?/td
td?php echo $row["order3"];?/td
/tr
?php
}
?
/table
form name="form1" method="post" action=""
input type="text" name="id"
input type="submit" name="Submit" value="查詢"
/form
$fields = array('a','b','c','d');//你的字段
foreach($fields as $val){
if(!empty($_POST[$val])){
$data[$val] = in($_POST[$val]);
}
}
你可以查1W條,然后按每個數(shù)據(jù)100條來分。
$data?=?select?*?from?table?limit?10000
$chunk?=?array_chunk($data,?100);
print_r($chunk);
也可以每次查詢 100 條
$start?=?0;
while($data?=?select?*?from?table?limit?$start,?100)
{
print_r($chunk);
$start?+=?100;
}
使用for循環(huán)
定義變量$i,配合select * from table where ………… limit $i,100
這樣就可以了
我之前就做過,但因為換了工作,代碼在之前的公司,否則就可以讓你參考下了
另外,我覺得100太少了,最起碼得改成1000才行
百萬級的數(shù)據(jù)庫表,好像也不用這么麻煩吧?
直接寫一個php,遞歸執(zhí)行就差不多了,但是php.ini中,將memory_limit設置大一些,再將mysql.connect_timeout值加大些,max_execution_time設置的值大一些。
如果不想設置這些,在程序中使用 ini_set() 函數(shù)也是可以的,一開始先遞歸小一些做十幾條,測試通過了再遞歸所有數(shù)據(jù),然后等就行了。
在等待的過程中,你可以用phpmyadmin等工具查看實時進度,如果發(fā)現(xiàn)問題,重啟web服務器進程,就中止運行了,然后再試。