|
|
|
<?phpheader("Content-Type:text/html; charset:utf-8");/*表结构:id fid name_ch……把几张相同结构的表放到一个表中,并且去掉重复的。(有级联关系)注意,fid 也是同表父级的id。处理流程:1.先处理最高级的:2.一条条处理,如果一条在目标表存在,则取出id,如果不存在,就插入,取出id,3.同时更新处理表的父级为本条记录的记录的fid*///standard_jgcd standard_lj standard_sj standard_sy$table = "standard_jgcd";//处理表//mysql_connect("202.204.54.212:3306","catalog","catalog");mysql_connect("localhost","root","1");mysql_select_db("cata");mysql_query("set names utf8");//三级,分级处理$i = 0;while($i++<3){$rs = mysql_query("select * from {$table} where rank = {$i}");//分级操作while($row = mysql_fetch_array($rs)){$id = "";$sql = "select * from standard where rank =' {$row[rank]}' and name_ch = '{$row[name_ch]}' and name_en = '{$row[name_en]}' ";//echo $sql."<br/>";$rs1 = mysql_query($sql);$row_num = mysql_num_rows($rs1);if($row_num!= 0){//如果standard表中已经有这条数据,取出它的id,更新处理表table$row1 = mysql_fetch_array($rs1);$id = $row1[id];dump($row1);}else{//如果standard表中没有这条数据,插进去,取出它的id,更新处理表tablemysql_query("insert into standard (name_ch,name_en,rank,fid) values ('{$row[name_ch]}','{$row[name_en]}',{$row[rank]},{$row[fid]})");$id = mysql_insert_id();echo "<br/>insert {$id}<br/>";echo "insert into standard (name_ch,name_en,rank,fid) values (select name_ch,name_en,rank,fid from {$table} where id = {$row[id]})";}//更新table中的父id mysql_query("update {$table} set fid = {$id} where fid = {$row[id]}");echo "<br/>".mysql_affected_rows();echo "<br/> update {$table} set fid = {$id} where fid = {$row[id]}<br/>";}}function dump($rs){echo "<pre>";print_r($rs);echo "</pre>";}?> |
|