Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пишу на PHP

Alex Знаток (391), на голосовании 1 год назад
$conn = mysqli_connect($servername, $username, $password, $database);

//пременые для запроса
$nums =(isset( $_POST['№']));
// echo "$nums";
$Date_of_receipt =(isset($_POST['Date_of_receipt']));
$View = (isset ( $_POST['View']));
$Name = (isset ( $_POST['Name']));
$Control = (empty($_POST['Control']));
$Responsible = (isset($_POST['Responsible']));
$Response_date_plan = (isset($_POST['Response_date_plan']));
$Response_date_fact = (isset($_POST['Response_date_fact']));
$Days_response = (isset($_POST['Days_response']));
$Grouping_days = (isset($_POST['Grouping_days']));
$Response_states =(isset($_POST['Response_states']));

//Вставляем данные, подставляя их в запрос
$sqladd = "INSERT INTO z1 ( №, Date_of_receipt, View, Name, Control, Responsible, Response_date_plan, Response_date_fact,Days_response, Grouping_days, Response_states)
VALUES ('$nums','$Date_of_receipt','$View','$Name','$Control','$Responsible','$Response_date_plan','$Response_date_fact','$Days_response','$Grouping_days','$Response_states')";
запрос постоянно водит 1
Голосование за лучший ответ
Си Рожа Оракул (63556) 1 год назад
Ты по-русски пишешь. РНР - это типа "русская народная речь"?
AlexЗнаток (391) 1 год назад
я думал ты поможешь
Си Рожа Оракул (63556) Alex, неее, я не разбираюсь же(( Я только флудить могу((
Захар Хуснутдинов Ученик (7) 1 год назад
Не понятно, что именно вы имеете в виду под "запрос постоянно водит 1". Если вы хотите сказать, что в результате выполнения запроса добавляется только одна запись, то это может быть связано с тем, что первичный ключ в таблице з1 задан как Уникальный ключ. В этом случае добавление записи с уже существующим значением первичного ключа будет вызывать ошибку.

Если вы хотите добавить несколько записей за один раз, то можете использовать цикл для перебора массива $_POST, который содержит значения всех отправленных формой полей. К примеру:

foreach ($_POST['data'] as $data) {
$nums = $data['№'];
$Date_of_receipt = $data['Date_of_receipt'];
//...остальные поля

mysqli_query($conn, "INSERT INTO z1 ( №, Date_of_receipt, View, Name, Control, Responsible, Response_date_plan, Response_date_fact,Days_response, Grouping_days, Response_states)
VALUES ('$nums','$Date_of_receipt','$View','$Name','$Control','$Responsible','$Response_date_plan','$Response_date_fact','$Days_response',
'$Grouping_days','$Response_states')");
}

Здесь мы используем массив 'data' в $_POST, который содержит все отправленные формой данные. В цикле перебираем все элементы массива и выполняем запрос на добавление записи в таблицу.

Кроме того, обратите внимание на то, что в вашем коде некоторые переменные задаются с использованием функций isset() и empty(), что может привести к тому, что неверные значения будут переданы в запрос. Лучше использовать функцию filter_input(), чтобы проверять и фильтровать получаемые из формы значения.
AlexЗнаток (391) 1 год назад
в базу добавляет 1 во все поля но не данные с формы
AlexЗнаток (391) 1 год назад
INSERT INTO z1 ( №, Date_of_receipt, View, Name, Control, Responsible, Response_date_plan, Response_date_fact,Days_response, Grouping_days, Response_states) VALUES ('1','1','1','1','','1','1','1','1','1','1')

Вот что содержит запрос
EVK IT Сервис К Мыслитель (5226) 1 год назад
1) Изучите для начала, для чего нужна функция isset()
2) Для успешных запросов SELECT, SHOW, DESCRIBE или EXPLAIN возвращается объект mysqli_result. Для других успешных запросов он вернет TRUE. FALSE в случае неудачи
Вот запрос и возвращает 1 = TRUE. Только в базу попадают 0 и 1 вместо значений.
Похожие вопросы