数据库 test
表A 存在 aa,ab,ac 字段
表B 存在 ba,bb,bc 字段<?php
 function connectDB()
 {
  mysql_connect("localhost","root","123456");
  //connect to mysql details;
  mysql_select_db("test");
 }
 
 function closeDB()
 {
  mysql_close();
  //disconnect to mysql for release RAM;
 }$read_sql="select * from A order by id";
$read_result=mysql_query($read_sql) or die ("Fail to : ".$read_sql.mysql_error());
if(!$read_result)
{
 echo "Table A is empty, can't update table B! please check.";
}
else
 {
  while($row=mysql_fetch_object($read_result))
  {
  $ba=$row->aa;
  $bb=$row->ab;
  $bc=$row->ac;
  
  $query_b_sql="select ba from B where ba='$ba' order by id";
  $result=mysql_query($query) or die ("Fail to : ".$query.mysql_error());
  if(!mysql_fetch_object($result))
    {
    $insert_sql="insert into B (ba,bb,bc) values ('$ba','$bb','$bc')";
    $insert_result=mysql_query($insert_sql) or die ("Fail to : ".$insert_sql.mysql_error());
    }
    else
    {
    $update_sql="update B set bb='$bb',bc='$bc' where ba='$ba'";
    $update_result=mysql_query(update_sql) or die ("Fail to : ".update_sql.mysql_error());
     }
  }
  
  echo "date("Y-m-d H:i:s") update completed! ";
  }
  ?>这个是我个人的一个思路。

解决方案 »

  1.   

    数据库:test
    表A 存在 aa,ab,ac 字段
    表B 存在 ba,bb,bc 字段<?php
     function connectDB()
     {
      mysql_connect("localhost","root","123456");
      //connect to mysql details;
      mysql_select_db("test");
     }
     
     function closeDB()
     {
      mysql_close();
      //disconnect to mysql for release RAM;
     }$read_sql="select * from A order by id";
    $read_result=mysql_query($read_sql) or die ("Fail to : ".$read_sql.mysql_error());
    if(!$read_result)
    {
     echo "Table A is empty, can't update table B! please check.";
    }
    else
     {
      while($row=mysql_fetch_object($read_result))
      {
      $ba=$row->aa;
      $bb=$row->ab;
      $bc=$row->ac;
      
      $query_b_sql="select ba from B where ba='$ba' order by id";
      $result=mysql_query($query) or die ("Fail to : ".$query.mysql_error());
      if(!mysql_fetch_object($result))
        {
        $insert_sql="insert into B (ba,bb,bc) values ('$ba','$bb','$bc')";
        $insert_result=mysql_query($insert_sql) or die ("Fail to : ".$insert_sql.mysql_error());
        }
        else
        {
        $update_sql="update B set bb='$bb',bc='$bc' where ba='$ba'";
        $update_result=mysql_query(update_sql) or die ("Fail to : ".update_sql.mysql_error());
         }
      }
      
      echo "date("Y-m-d H:i:s") update completed! ";
      }
      ?>个人的一个思路。。
      

  2.   

    如果是在WINDOWS上的话,可以写一个程序去定时去请求一个更新页面,PHP自己是没有触发功能的,如果这个系统每天都有人用的话,可以用当有人进入系统就执行一段代码来更新,因为只有进入了才能查询数据或使用系统,因此什么时间更新的并不重要,反正在有人使用这系统之前就更新了就行。并不一定要12点。再就是在WINDOWS和LIUNX上都可以用脚本来请求一个页面。同样也可以用JAVA写一个触发程序,不过这样我认为还要配置JAVA运行环境,可能不太方便。
      

  3.   


    方案:
    1.在 SqlServer 写一个调度包
    2.写一个vbs文件,添加到任务计划里面
    3.写一个exe,定时去请求你的网页
      

  4.   

    不用费力去学vbs或exe可执行文件你用IIS,说明是Windows系统,最简单的办法就是写个PHP脚本,在Windows任务计划里面设置php.exe filename.php的方式直接运行记住PHP不只能做Web开发,也可以当作脚本语言来使用
      

  5.   

    worm_oz 的说法头回听说,感谢感谢,回头试试
      

  6.   

    上面我写的脚本实际上就是在 计划任务里执行的。
    参数例子:c:\php5\php.exe -q e:\www\filename.php
      

  7.   

    我做类似问题
    是用.NET的
    WINDOWS服务来完成的
    嘎嘎
      

  8.   

    我也做过类似的问题,是用java做的。利用WINDOWS计划任务里执行来完成的,也可以用sql进程实现。嘎嘎。
      

  9.   

    可以用PHP搞定的任务,为什么非要用Java或.NET来做?开发人员都精通两种语言吗?平白增加维护工作量