大概的基本流程如下:
创新互联建站-专业网站定制、快速模板网站建设、高性价比吴堡网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式吴堡网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖吴堡地区。费用合理售后完善,十余年实体公司更值得信赖。
连接数据库,再加一个判断。
选择数据库
读取表
输出表中数据
下面是代码:
?php
$con = mysql_connect("localhost","root","abc123");
/* localhost 是服务器 root 是用户名 abc123 是密码*/
if (!$con)
{
die("数据库服务器连接失败");
}
/* 这就是一个逻辑非判断,如果错误就输出括号里的字符串 */
@mysql_select_db("a", $con);
/* 选择mysql服务器里的一个数据库,假设你的数据库名为 a*/
$sql = "SELECT * FROM qq";
/* 定义变量sql, "SELECT * FROM qq" 是SQL指令,表示选取表qq中的数据 */
$result = mysql_query($sql); //执行SQL语句,获得结果集
/*下面就是选择性的输出打印了,由于不清楚你的具体情况给你个表格打印吧*/
//打印表格
echo "table border=1";
while( $row = mysql_fetch_array($result) )
/*逐行获取结果集中的记录,得到数组row */
{
/*数组row的下标对应着数据库中的字段值 */
$id = $row['id'];
$name = $row['name'];
$sex = $row['sex'];
echo "tr";
echo "td$id/td";
echo "td$name/td";
echo "td$sex/td";
echo "/tr";
}
echo "table /";
?
如果你的switch是表头,就定义这个表头字段,然后输出。
不知道你asp用的数据库是不是mysql, 不过大多数asp连接数据库都可以用php连接, php配置下直接连接到数据库即可, 都不用数据迁移, 这是asp和php相同服务器情况下, 不同情况下相同数据库可以直接用数据库命令dump成sql文件然后再新的数据库服务器中执行就好, 最差的情况是不同数据库服务器, 在asp中可以写脚本让其将数据取出来, 然后按一定格式或者json编码到一个文本文件中, 到php时再获取这个文件中的内容再解码出来, 插入新的数据库, 最后还可以在asp中写个同步的接口, 在php写个服务请求这个接口将数据同步迁移过来, 都可以的
这个需要配合js,打开一个html页面,首先js用ajax请求页面,返回第一个页面信息确定处理完毕(ajax有强制同步功能),ajax再访问第二个页面。(或者根据服务器状况,你可以同时提交几个URL,跑几个相同的页面)
参数可以由js产生并传递url,php后台页面根据URL抓页面。然后ajax通过php,在数据库或者是哪里设一个标量,标明检测到哪里。由于前台的html页面执行多少时候都没问题,这样php的内存限制和执行时间限制就解决了。
因为不会浪费大量的资源用一个页面来跑一个瞬间500次的for循环了。(你的500次for循环死了原因可能是获取的数据太多,大过了php限制的内存)
不过印象中curl好像也有强制同步的选项,就是等待一个抓取后再执行下一步。但是这个500次都是用一个页面线程处理,也就是说肯定会远远大于30秒的默认执行时间。
/*定义变量dbh,mysql_connect()函数的意思是连接mysql数据库,"@"的意思是屏蔽报错*/
if(!$dbh){die("error");}
/*die()函数的意思是将括号里的字串送到浏览器并中断PHP程式(Script)。括号里的参数为欲送出的字串。*/
@mysql_select_db("ok",$dbh);
/*选择mysql服务器里的一个数据库,这里选的数据库名为ok*/
$q="SELECT*FROMabc";
/*定义变量q,"SELECT*FROMabc"是一个SQL语句,意思是读取表abc中的数据*/?/!--=========方法一=========--/?$rs=mysql_query($q,$dbh);
/*定义变量rs,函数mysql_query()的意思是:送出query字串供MySQL做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值*/
if(!$rs){die("Validresult!");}
echo"table";
echo"trtdID/tdtdName/td/tr";
while($row=mysql_fetch_row($rs))echo"trtd$row[0]/tdtd$row[1]/td/tr";
/*定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0]和$row[1]的位置可以换*/
echo"/table";?/!--=========方法二=========--/?$rs=mysql_query($q,$dbh);
while($row=mysql_fetch_object($rs))echo"$row-id$row-name/";
/*id和name可以换位置*/?/!--=========方法三=========--/?$rs=mysql_query($q,$dbh);
/*id和name可以换位置*/?!--=========方法三最快=========--?@mysql_close($dbh);
愚见:
用函数explode(",",$hq_str_sh601006)
能把字符串按照逗号分开。可以直接赋值给一个数组变量。
如:$hq_str_arr=explode(",",$hq_str_sh601006);
然后你自己可以从数组中按照你获取的顺序给数组中相应的元素赋值给数据库的对应字段。
希望有帮助。
?php
//连接数据库
$sql = mysql_connect('主机名','用户名','密码');
mysql_select_db('数据库名');
mysql_query('utf8');
//获取数据库数据
$sql = "select * form 表名";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
?