Возникла ошибка
Incorrect date value: 'Array' for column 'дата сдачи' at row 1
Вот мой код :
<form action=' ' method='post' >
<?php
include '../db.php';
{ /* выборка группы */
$qwer =("SELECT * FROM группа");
$sql = mysql_query($qwer) or die(mysql_error());
$row = mysql_fetch_array($sql);
echo "<select name='group'>";
do {
echo "<option value=" .$row['номер групп'].">".$row['номер групп']."</option>";
} while($row = mysql_fetch_array($sql));
echo "</select>";
}
{ /*выборка дисциплины*/
$qw =("SELECT * FROM дисциплины");
$sq = mysql_query($qw) or die(mysql_error());
$ro = mysql_fetch_array($sq);
echo "<select name='дисциплина'>"."<option >"."Выборка"."</option>";
do
{
echo "<option value=" .$ro['дисциплина'].">".$ro['дисциплина']."</option>";
}
while($ro = mysql_fetch_array($sq));
echo "</select>";
}
?>
Следить за посещением лекций?
да <input type="radio" name='vlec' value='On'/>
нет <input type="radio" name='vlec' value='off' checked="checked"/><br>
<input type='submit' name='redgr' >
<?php
if(isset($_POST['redgr']) && $_POST['vlec'] =='On') {
$g=$_POST['group'];
$d=$_POST['дисциплина'];
echo $g,$d;
echo "Сколько лекций
<input type='text' name='collec' value='numberl'>
<input type='submit' name='n' >";
echo "";
}
if(isset($_POST['n'])) {
$ks=$_POST['collec'];
echo $ks.'<br>';
for($i=0; $i<$ks; $i++) {
echo $i . " " . "введите дату занятия<input type='date' name='calendar[]'>
Введите тип<input type='text' name='type[]'><br>"." введите норме<input type='text' name='name[]'><br>";
}
echo $ks."<input type='submit' name='dd2' />";
}
if( isset( $_POST['dd2'])) {
$g=$_POST['group'];
$d=$_POST['дисциплина'];
$typew=$_POST['type'];
$namew=$_POST['name'];
$value=$_POST['calendar'];
$rt=$_POST['calendar'];
print_r ($rt) ." не работает че то<br>";
do {
$adstudent = ("INSERT INTO `назначенные` (`номер группы`,`дисциплина`,`тип работы`,`имя работы`,`дата сдачи`)
VALUES ('$g','$d','$typew','$namew','$value')");
$studentsql = mysql_query($adstudent) or die(mysql_error());
} while( print_r($rt ));
$typew=$_POST['type'];
$namew=$_POST['name'];
echo $typew;
}
echo '<form>';
?>
вы передаете массив в строку. массив в php вашей версии превращается в строчку Array. значение "Array" - это не то, что вы можете записать в поле типа date/timestamp и т.д.
ваше $value приходит из html-формы из поля name='calendar[]'
(не знаю, зачем вы так запутали, почему нельзя было назвать переменную $calendar?)
php интерпретирует такие поля как массивы.
при попытке превратить массив в строку, вы получаете строчку "array" - это стандартное поведение в php5.
вот и вся разгадка. можете сделать var_dump($value);
перед инсертом в базу, и все сами увидите
проверка:
php -r '$a=array(); echo $a;'
,
получаем предупреждение php :
PHP Notice: Array to string conversion in Command line code on line 1
вывод:
Array
P.S. (комментарий к комментарию) не вижу связи между
Вы пытаетесь добавить запись, внешний ключ которой требует существование записи в таблице 'работ'.
и сообщением
“Incorrect date value”
P.P.S.
если бы вы включили предупреждения, вы бы сами заметили и погуглили бы ошибку в коде.
P.P.P.S.
никогда больше не давайте колонке в бд имя с пробелом. Это недопустимо. field_name
, а не field name
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Нужно вывести данные из разных таблиц на одну страницуПри чем из одной таблицы все благополучно выводится