我需要每月每个月创建一个具有不同操作代码的循环。这意味着我每个月必须运行唯一的代码。
$date="2012-05-31";
for ($i=1; $i<31; $i++) {
$newdate=str_replace('-', '/', $date);
$codeDate = date('Y-m-d',strtotime($newdate . "+".$i." days"));
if ($i==1) echo "\n"."new cycle start: ".$codeDate;
/* UNIQUE CODE FOR JUNE 2012 */
}
echo "\n"."new cycle end: ".$codeDate."\n \n";
for ($i=1; $i<32; $i++) {
$newdate=str_replace('-', '/', $codeDate);
$codeDate1 = date('Y-m-d',strtotime($newdate . "+".$i." days"));
if ($i==1) echo "\n"."new cycle start: ".$codeDate1;
/* UNIQUE CODE FOR JULY 2012 */
}
echo "\n"."new cycle end: ".$codeDate1."\n \n";
for ($i=1; $i<32; $i++) {
$newdate=str_replace('-', '/', $codeDate1);
$codeDate2 = date('Y-m-d',strtotime($newdate . "+".$i." days"));
if ($i==1) echo "\n"."new cycle start: ".$codeDate2;
/* UNIQUE CODE FOR AUGUST 2012 */
}
echo "\n"."new cycle end: ".$codeDate2;
我需要这种方法几年了。使用循环或其他工具执行此操作的某种方法吗?
答案 0 :(得分:1)
您将需要解决此问题,因为它可能会产生错误,而不是只是冷写测试而已......但是遵循这些原则(尽管这并没有考虑删除数据,因此您会re表不仅会越来越大)。
$month = date('m');
$year = date('y');
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$result = $mysqli->query("SELECT token FROM token_table WHERE year = $year AND month = $month ");
if(count($result) > 0) {
$token = $result[0]['token'];
} else {
$token = generateYourTokenHoweverYouDoIt();
$mysqli->query("INSERT INTO token_table (month, year, token) VALUES ('$month', '$year', '$token')");
}
//Use token.
此外,您需要确保对数据库查询中使用的任何变量进行安全性清理……通常只是那些可能来自用户输入的变量,因此在这里应该没问题……但考虑到安全性总是好事使用数据库时...
查看:http://php.net/manual/en/mysqli.query.php
和:http://php.net/manual/en/book.pdo.php
我个人使用PDO,但是编写时间更长,而mysqli也更自然地出现。但是要同时研究两者。