Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Работа с большой формой

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: подскажите, как сделать форму с измением многих данных
koka
Отправлено: 04 Января, 2011 - 11:29:28
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




Попытаюсь объяснитьт, что я хочу.
Например, у меня есть страница http://rulevoi[dot]net/content/zashi[dot][dot][dot]?marka=chevrolet . Надо добавить возможность изменения двух полей - цены и количества. То есть напротив каждой защиты указан input type text с value равным текущему значению кол-ва/цены. Надо, чтобы пользователь изменял кол-во и цену у нужных ему позиций, а в конце ВСЕЙ таблицы, была кнопочка изменить. Скрипт, получивший эту форму, должен внести все изменения в БД (наверное, можно update все значения, так как input value=XXXXXXXXXXXX я получаю из БД при формирование этой таблицы). Подскажите, как сделать.
(Добавление)
вот картинка, если я непонятно объяснил

(Добавление)
если непонятно объяснил или требую чего-то банального, подскажите, пожалуйста, не молчите!!!


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
grefon
Отправлено: 04 Января, 2011 - 13:12:46
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Пользователю выводите инпуты с именами, в которых присутствуют id строки:

CODE (html):
скопировать код в буфер обмена
  1. <input type="text" name="price_$row['id']" value="$row['price']">


В скрипте обработчике ставите цикл на пост:

PHP:
скопировать код в буфер обмена
  1. foreach ($_POST as $key => $val) {
  2.  
  3. if (strstr($key, "price_")) {
  4.         $temp = round($val*100)/100;
  5.         db_query("UPDATE ".PRODUCTS_TABLE." SET Price='$temp' WHERE productID=".str_replace("price_","",$key)) or die (db_error());
  6.          }
  7. }


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
koka
Отправлено: 04 Января, 2011 - 13:24:05
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




grefon, спасибо.
Однако сам я сделал так:
вывел такие input в цикле
PHP:
скопировать код в буфер обмена
  1.     <td> <input type='text' value='".$row['sklad']."' name='sklad".$i."' size='2'> </td>
  2.     <td> <input type='text' value='".$row['price']."' name='price".$i."' size='5'>
  3.     <input type='hidden' name='zashita_id".$i."' value='".$row['zashita_id']."'></td>

а в обработчике написал так
PHP:
скопировать код в буфер обмена
  1. $max_i = $_POST['max_i'];
  2.  
  3.  
  4. for ($i=0;$i<$max_i;$i++)
  5. {
  6. $price = "price$i";
  7. $sklad = "sklad$i";
  8. $zashita_id = "zashita_id$i";
  9. $query = "UPDATE `ваваы`.`zваываы` SET `price` = '{$_POST[$price]}',`sklad` = '{$_POST[$sklad]}' WHERE `zashita_alfeco`.`zashita_id` = '{$_POST[$zashita_id]}'";
  10. $sql = mysql_query($query) or die(mysql_error());
  11. }


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
grefon
Отправлено: 04 Января, 2011 - 13:34:16
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010  


Помог: 32 раз(а)




Тоже вариант. То, что написал я - это старый классический способ, так сказать из учебников Улыбка
Главное, чтобы работало и Вам было удобно.


-----
____________________________________________________________________
Ну как то так, наверное.
http://grefon[dot]com
 
 Top
koka
Отправлено: 04 Января, 2011 - 13:40:48
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Июнь 2010  
Откуда: Россия, Ижевск


Помог: 1 раз(а)




grefon пишет:
Тоже вариант. То, что написал я - это старый классический способ, так сказать из учебников Улыбка
Главное, чтобы работало и Вам было удобно.


С моими знаниями для меня пока главное - чтобы работало.
В моём скрипте минус в том, что я обновляю все значения в БД, независимо от того, изменены данные или нет.
Но так как по 10 раз в день количество и цену менять не собираемся, то, я думаю, пойдёт. Улыбка


-----
http://rulevoi[dot]net - запчасти для иномарок в Ижевске
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB