Возможно ли сформировать какой-то цикл из этого кода? - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужно создать цикл с различным кодом действия для каждого дня на ежемесячной основе.Это значит, что за каждый месяц я должен запускать уникальный код.

$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;

Мне нужен такой подход на несколько лет.Это какой-то способ сделать это с помощью циклов или других инструментов.

1 Ответ

0 голосов
/ 07 декабря 2018

Вам нужно будет пройти через это, так как это может привести к ошибкам, а не к тесту, который только что написали в «холодном» виде ... но вот что вы ищете (хотя это не учитывает удаление данных, поэтому вы 'таблица не просто растет и растет).

$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 также более естественен и для меня.Но посмотрите на оба.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...