拿下面这段单独建个页面,改一下你的数据库名,表等信息试试。
在怀安等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计制作、做网站 网站设计制作按需网站开发,公司网站建设,企业网站建设,品牌网站制作,成都全网营销,成都外贸网站建设公司,怀安网站建设费用合理。
table width="50%" border="0"
tr
tdID/td
tdID2/td
tdorder1/td
tdorder2/td
tdorder3/td
/tr
?php
//连接数据库
$conn=@ mysql_connect("服务器地址","用户名","密码") or die("连接数据库失败!");
mysql_select_db("数据库名",$conn) or die("连接数据库失败!");
mysql_query("set names 'GBK'");
//连接结束
//接收提交过来查询的ID
$id=$_POST["id"];
//查询数据库相关数据
$sql="select * from 数据表名 where ID2='".$id."' order by id desc";
$query=mysql_query($sql);
//循环输出
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条,然后按每个数据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循环
定义变量$i,配合select * from table where ………… limit $i,100
这样就可以了
我之前就做过,但因为换了工作,代码在之前的公司,否则就可以让你参考下了
另外,我觉得100太少了,最起码得改成1000才行
百万级的数据库表,好像也不用这么麻烦吧?
直接写一个php,递归执行就差不多了,但是php.ini中,将memory_limit设置大一些,再将mysql.connect_timeout值加大些,max_execution_time设置的值大一些。
如果不想设置这些,在程序中使用 ini_set() 函数也是可以的,一开始先递归小一些做十几条,测试通过了再递归所有数据,然后等就行了。
在等待的过程中,你可以用phpmyadmin等工具查看实时进度,如果发现问题,重启web服务器进程,就中止运行了,然后再试。