Создане записией sql на основании логики повторий

Подскажите пожалуйста как поменять sql запрос что бы запись создавалась не одна из form, а нужное количество на основании диапазона времени: Например каждый вторник и четверг до определенной даты и создается например 56 записей где start(datetime) автоматически правильно записала даты с временем например 10:00.

<select size="3" multiple name="day[]">
    <option value="Понедельник">Понедельник</option>
    <option value="Вторник">Вторник</option>
и т.д
   </select>
<input name="max" type="date" value="10.06.2022" >


$sql = mysql_query("INSERT INTO `viezd_events` (`fio`, `email`,`end`,`sum`,`usert`,`title`,`start`, `klin`,`adr`,`front`,`master`,`tip`,`avtor`,`tel`) 
VALUES ('$fio','$email','$end','$sum','$usert','$klin','$_POS','".$_POST['klin']."','".$_POST['adr']."','".$_POST['front']."','".$_POST['master']."','$tip','".$_SESSION['name']."','$tel')", $link);

Большое спасибо!


Ответы (1 шт):

Автор решения: Akina

На стороне MySQL это делается запросом

WITH RECURSIVE
cte1 AS ( SELECT @datefrom AS thedate
          UNION ALL
          SELECT thedate + INTERVAL 1 DAY FROM cte1 WHERE thedate < @datetill ),
cte2 AS ( SELECT 1 n
          UNION ALL
          SELECT n + 1 FROM cte2 WHERE n < @rows_amount )
INSERT INTO viezd_events (... , income_at, ...)
SELECT ... , thedate, ...
FROM cte1
CROSS JOIN cte2
WHERE WEEKDAY(thedate) IN (2, 4);

@datefrom и @datetill - диапазон дат, @rows_amount - количество записей на одну дату.

→ Ссылка