Мне нравится вставлять свои данные, например, в следующую структуру.
+------+----+
|id|JAN||FEB|
+------+----+
|1 | 1|| 5|
+------+----+
|2 | 8|| 12|
+------+----+
|3 | 15|| 19|
+------+----+
|4 | 22|| 26|
+------+----+
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "epi";
$conn = new mysqli($servername, $username, $password, $dbname);
if (!$conn)
{
die('Could not connect: ' . mysql_error());
}
$number_of_dates = 4;
$startDate_Jan = strtotime("2018-01-01");
for ($i = 0; $i <= $number_of_dates; $i++)
{
$date = strtotime("Monday +" . ($i * 1) . ' weeks', $startDate_Jan);
$month=date('m', $date).PHP_EOL;
$datex=date('d', $date).PHP_EOL;
$intmonth = intval($month);
$intdate = intval($datex);
echo $intdate;
echo "<br>";
$sql="INSERT INTO testdata (ID_DATE, EPI_DATE_JAN) VALUES ('','$intdate')";
$result = mysqli_query($conn, $sql);
}
$number_of_dates = 4;
$startDate_Feb = strtotime("2018-02-01");
for ($i = 0; $i <= $number_of_dates; $i++)
{
$date = strtotime("Monday +" . ($i * 1) . ' weeks', $startDate_Feb);
$month=date('m', $date).PHP_EOL;
$datex=date('d', $date).PHP_EOL;
$intmonth = intval($month);
$intdate = intval($datex);
echo $intdate;
echo "<br>";
$sql="INSERT INTO testdata (ID_DATE, EPI_DATE_FEB) VALUES ('','$intdate')";
$result = mysqli_query($conn, $sql);
}
$conn->close();
?>
когда я делаю это выше, создается всего 8 id. Итак, теперь я хочу исправить свою проблему. скажите мне какое-то решение, как решить мою проблему. если у вас еще есть путаница, спросите меня, я также дам некоторые подробности.
Если в вашей таблице всего 4 строки, а ID_DATE - номер недели, вы можете использовать UPDATE во втором цикле, как показано ниже:
// second loop:
$week = $i+1;
$sql="UPDATE testdata set EPI_DATE_FEB = $intdate WHERE ID_DATE=$week";
$result = mysqli_query($conn, $sql);
Таким образом, второй цикл может быть:
$number_of_dates = 4;
$startDate_Feb = strtotime("2018-02-01");
for ($i = 0; $i <= $number_of_dates; $i++)
{
$date = strtotime("Monday +" . ($i * 1) . ' weeks', $startDate_Feb);
$month=date('m', $date).PHP_EOL;
$datex=date('d', $date).PHP_EOL;
$intmonth = intval($month);
$intdate = intval($datex);
echo $intdate;
echo "<br>";
$week = $i+1;
$sql="UPDATE testdata SET EPI_DATE_FEB=$intdate WHERE ID_DATE=$week";
$result = mysqli_query($conn, $sql);
}
Но даже лучше использовать подготовленные запросы.