使用带有Excel数据库的php计算生日

时间:2014-08-08 19:04:50

标签: php mysql excel date-arithmetic

我想通过php使用excel数据库来计算生日,然后在接近他们的birhday时祝贺他们。数据库包含700个出生日,现在这里是我的问题 1.是否可以使用excel数据库或我应该转换是mysql 2.你怎么能让我知道它是如何工作的(如何从excel接收数据)

3 个答案:

答案 0 :(得分:0)

您可以做的是将Excel转换为xml并使用PHP读取数据。

有关SimpleXML的更多信息: - http://www.w3schools.com/php/php_xml_simplexml.asp

用PHP读写Excel数据: - http://www.ibm.com/developerworks/library/os-phpexcel/

希望这会有所帮助。 干杯!

答案 1 :(得分:0)

我会使用谷歌搜索找到StackExchange上的这两个选项:

将Excel电子表格上传到SQL数据库 convert excel worksheet to sql script

使用PHP读取Excel文档 Reading an Excel file in PHP

答案 2 :(得分:0)

根据您的需求,这应该是实现目标的最简单方法。您的Excel文件应该具有以下结构:

Friend A    12/08/2014  a@mail.com
Friend B    12/08/2014  b@mail.com
Friend C    08/08/2014  c@mail.com
Friend D    13/08/2014  d@mail.com
Friend E    14/08/2014  e@mail.com
Friend F    02/09/2014  f@mail.com

第一列包含他/她的名字,第二列包含他的生日,第三列包含他/她的电子邮件地址。

将Excel文件另存为Text (Tab delimited)。将此文件birthdays.txt放在同一目录中,该文件包含下面显示的PHP代码段

<?php
$handle = @fopen("birthdays.txt", "r");
if($handle){
    while (($buffer = fgets($handle, 4096)) !== false){
        $line = explode("\t", $buffer);
        if(date('d/m/Y') == date('d/m/Y', strtotime($line[1]))){
            mail($line[2], 'Happy birthday!', 'Dear ' . $line[0] .', I wish you all the best!');
        }
    }
    fclose($handle);
}
?>

每天运行一次这个文件,手动或者像这样使用Crontab(在这种情况下,在五小时之后)

5 0 * * * php /full-path-to-your-script/birthdays.php

就是这样。如您所见,不需要任何外部库。