Задать вопрос
@Aigul_per

Как заполнить таблицу в бд пустыми данными за будущую неделю?

Есть две таблицы в бд. Одна с юзерами, другая с их отчетами. Надо сделать так, чтобы в понедельник каждой недели в базу заносились пустые данные за всю будущую неделю в виде 093f972b0fe840079817bcdcd0be2545.PNG делаю так:
$id_query = "select * from `p_users`
where `p_user_division` = 19 and `p_user_devision_general` = 0 order by `p_user_fname`";
$id_res = mysql_query($id_query) or die(mysql_error()); 
for($i = 0; $i <= 6; $i++){
$date = date ("Y-m-d", time() - ( -($i) + date("N")-1) * 24*60*60);
echo $date;
while ($id_row = mysql_fetch_array($id_res)){
$user_name = $id_row['p_user_id'];
$user_devision = $id_row['p_user_division'];
$query = "insert into `p_operativ_one` values (null, '".$user_name."','".$user_devision."','".$date."',0,0,
0,0,0,0,0)";
$res = mysql_query($query) or die(mysql_error()); 
};
};
но заносятся только за понедельник, а за остальные нет. Дата на экран выводится вся (до конца недели), а цикл while идет только один раз
  • Вопрос задан
  • 123 просмотра
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@Aigul_per Автор вопроса
решила так:
$i = 0;
while($i <= 6){
$date = date ("Y-m-d", time() - ( -($i) + date("N")-1) * 24*60*60);
echo $date;
$id_query = "select * from `p_users`
where `p_user_division` = 19 and `p_user_devision_general` = 0 order by `p_user_fname`";
$id_res = mysql_query($id_query) or die(mysql_error());
while ($id_row = mysql_fetch_array($id_res)){
$user_name = $id_row['p_user_id'];
$user_devision = $id_row['p_user_division'];
//$date = date("Y.m.d");
$query = "insert into `p_operativ` values (null, '".$user_name."','".$user_devision."','".$date."',0,0,
0,0,0,0,0)";
$res = mysql_query($query) or die(mysql_error());

var_dump($query);
};
$i++; 
};
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
iNickolay
@iNickolay
Дата на экран выводится вся (до конца недели), а цикл while идет только один раз
Логично, они у вас никак и не связаны, поэтому и выполняются по отдельности.
while идет только один раз
А сколько ему идти?

P.S. у вас две серьёзные ошибки:
1) или я ошибаюсь, или вы и правда не экранируете/очищаете вводимые данные.
2) вы используете сильно устаревшую библиотеку для доступа к бд. Рекомендую PDO, или mysqli
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы