代码之家  ›  专栏  ›  技术社区  ›  ganjan

如何设置每日php函数或mysql查询

  •  0
  • ganjan  · 技术社区  · 14 年前

    我已经想了一段时间了,现在该怎么做。如果我想每周备份mysql中存储每天都在变化的值的所有或许多表。我还想用php执行每日更新db中的值的函数。

    我在考虑做一个股票投资函数。我有虚构的数据作为各种股票的价值,一个每天随机变化的价值。

    在股票价格曲线的最后9天里可能是这样。

    CREATE TABLE `stocks` (
      `id` int(11) NOT NULL auto_increment,
      `name` varchar(40) NOT NULL default '', 
    
      `day_1` varchar(40) NOT NULL default '', 
      `day_2` varchar(40) NOT NULL default '',  
      `day_3` varchar(40) NOT NULL default '', 
      `day_4` varchar(40) NOT NULL default '', 
      `day_5` varchar(40) NOT NULL default '',  
      `day_6` varchar(40) NOT NULL default '', 
      `day_7` varchar(40) NOT NULL default '', 
      `day_8` varchar(40) NOT NULL default '', 
      `day_9` varchar(40) NOT NULL default '', 
    

    day_1 价值和用途 array_push($array, "new_stock_price"); 然后用新的last_9_days值更新数据库。

    3 回复  |  直到 14 年前
        1
  •  1
  •   OMG Ponies    14 年前

    在*nix系统上,使用CRON作业。在Windows上,它是计划任务。。。其中一个将在任何一天(或特定的一天)的给定时间执行脚本。

    DROP TABLE IF EXISTS `example`.`stocks`;
    CREATE TABLE  `example`.`stocks` (
      `id` int(10) unsigned NOT NULL auto_increment,
      `name` varchar(45) NOT NULL default '',
      `stock_value` varchar(40) NOT NULL default '',
      `created_date` datetime NOT NULL default CURRENT_TIMESTAMP,
      PRIMARY KEY  (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
    

    这样,如果要查看给定股票名称的最后9个值,请使用:

      SELECT s.name,
             s.value,
             s.created_date
        FROM STOCKS s
       WHERE s.name = ?
    ORDER BY s.created_date DESC
       LIMIT 9