Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Сохранение масива полей в базу данных
 
 автор: valor   (14.01.2008 в 18:31)   письмо автору
 
 

Подскажите пожалуйсто как сохранить за один раз данные из полей типа TEXT с одинаковым NAME


      <input type="text" name="d1" id="d1" />
      <input type="text" name="d1" id="d2" />
      <input type="text" name="d1" id="d3" />


в идеале поля будут генерироватся из БД и после ввода данных сохранять данные одним запросом , если можно пример проход по массиву циклом..
Просо кароткий пример или просто объясните .... очень прошу.... зарание спасибо ..

   
 
 автор: valor   (15.01.2008 в 07:05)   письмо автору
 
   для: valor   (14.01.2008 в 18:31)
 

ну подскажите пожалуйсто !.....

   
 
 автор: THERAPYbrother   (15.01.2008 в 07:29)   письмо автору
 
   для: valor   (14.01.2008 в 18:31)
 

на то и придумали умные дядьки задавать полям разные имена.
Насколько я знаю,на рнр никак.

   
 
 автор: talyma5   (15.01.2008 в 07:37)   письмо автору
 
   для: valor   (14.01.2008 в 18:31)
 

А попробуйте назвать их dl-1, dl-2, dl-3
А в последствии проходить по ним циклом с изменением числа... вот как-то так...
А насчет одного имени - никак вроде.

   
 
 автор: valor   (15.01.2008 в 08:40)   письмо автору
 
   для: talyma5   (15.01.2008 в 07:37)
 

можно господа ....

<input type="text" name="d1[]" id="d1" />


<?
for ($i 0;$i<$numRows;$i++){
    
$DB->query('INSERT INTO impl (t_1) VALUES(?)',$d $_POST['d1'][$i]);
echo 
$_POST['d1'][$i];
}
?>

где #numRows это количество генерируемых из бд полей

   
 
 автор: Петр   (15.01.2008 в 10:54)   письмо автору
 
   для: valor   (15.01.2008 в 08:40)
 

поля ввода сделать как массив

<input type="text" name="text[]" /> 

потом, проверяем был ли передан текст и проходимся по нему циклом... и каждый элемент массива в БД

<?php
if ($_POST['text'])
 foreach (
$text as $item) {
  
$db->query("INSERT INTO table VALUES ('','$item' )");
}
?>

   
 
 автор: valor   (15.01.2008 в 11:23)   письмо автору
 
   для: Петр   (15.01.2008 в 10:54)
 

не универсален Ваш способ хотя и правелен но только для одного набора полей, а верхний для любоко количества , плюс юзает плейсхолдеры это защита от SQL иньекций


<?
for ($i 0;$i<$countRow;$i++){
    
$DB->query('INSERT INTO impl (t_1,t_2) VALUES(?,?)',$_POST['d1'][$i],$_POST['d2'][$i]);
}
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования