Массовое редактирование товара

robinner

Новичок
Массовое редактирование товара

Всем привет, вот мучаюсь с созданием на сайт админ части.
Есть список товара с checkbox напротив каждого товара. Нужно организовать одиночное и массовое редактирование с предварительным просмотром. А также при редактировании должна производиться проверка загружаемого файла на принадлежность его к картинки с определенными параметрами. Я мучаюсь у меня не получается организовать это правильно.
Подскажите, плиз.
 

Фанат

oncle terrible
Команда форума
Это действительно сложная проблема.
Чтобы ее решить я бы порекомендовал делать не массовую проверку файлов с одновременным просмотром удаленных картинок, а разделить задачу на части.

Начал бы я с одиночного редактирования товара.
 

Фанат

oncle terrible
Команда форума
очень хорошо.
Какие проблемы с предпросмотром при редактировании одиночного товара?
 

robinner

Новичок
Одиночного товара проблем нет...(Я написал про одиночное в посте, вдруг, кто подскажет более правильное решение.)
Но сам не знаю правильно или нет. Одиночное у меня выполняется GET методом, цикла там никакого нет. А вот массовое я POST методом передаю данные.
Да, и еще... Я переношу данные временно в другую таблицу.
 

Фанат

oncle terrible
Команда форума
Методом GET имеется в виду редактирование? А, точнее, не реактирование, а переход на форму одиночного редактирования?
А уже эта форма отправляется, я надеюсь, не GET-ом?

множественное редактирование делается просто
делаем у чекбокса имя вида delete[666], где 666 - id товара.
а в скрипте-обработчике проходим по этому массиву. вот и все.
 

robinner

Новичок
GET передаю id и когда переменная $num присутсвует, вывожу форму с полями, value которых равно значениям колонок в таблице.

А про множественное я делаю у чекбокса name=type[],
потом создаю переменную $query = типа (id1, id2...)
потом вывожу поля запросом где id IN '.$query.'

Выводить то оно выводит, а вот записать уже отредактированные данные не могу...
Да и к тому же а если в одной из форм будет ошибка, запись остановится на ней, даже если последующие формы правильные.
 

Фанат

oncle terrible
Команда форума
Не понял, ты просто несколько форм подряд выводишь? А смысл в таком "множественном редактировании" какой?
 

robinner

Новичок
Ну, чтобы не редактировать по одному товару, а напимер сразу 10 выбранных
 

shureen

Милорд Лось Кристофер
Ну, чтобы не редактировать по одному товару, а напимер сразу 10 выбранных
это и ежу понятно. Вопрос был в том, что смысл в том что ты выводишь подряд одинаковые формы (читай формы с одинаковыми полями)?

Создай массив форм, т.е. для наглядности
форма раз:
<input name="name[0]">
<input name="desc[0]">
<input name="id[0]" value="1" type="hidden">
форма два:
<input name="name[1]">
<input name="desc[1]">
<input name="id[1]" value="2" type="hidden">

останется лишь прогнать по массиву
 

robinner

Новичок
<форм>
<поле имя><поле фирма>...
<поле имя><поле фирма>...
..............................................
<сабмить>
<.форм>
типа того

-~{}~ 23.12.09 09:51:

понял попробую

-~{}~ 23.12.09 09:51:

спасибо:)
 

shureen

Милорд Лось Кристофер
А ещё лучше создай функцию для редактирования одной записи:
function edit ($data), где $data массив данных записи

А на том же примере:
форма раз:
<input name="data[0][name]">
<input name="data[0][desc]">
<input name="data[0][id]" value="1" type="hidden">
форма два:
<input name="data[1][name]">
<input name="data[1][desc]">
<input name="data[1][id]" value="2" type="hidden">

и в обработчике уже останется пройтись по массиву
Код:
foreach ($_REQUEST['data'] as $row)
{
   edit ($row);
}
 

robinner

Новичок
Ну, думаю, что сложного ничего нет:)Вот только я не все темы понимаю:)
Значит буду мучиться ,пока не получится.
 

shureen

Милорд Лось Кристофер
Ну смотри создаёшь функцию для изменения одной записи, что то типа такого:
PHP:
function edit ($data)
{
	// делаешь нужные проверки и преобразования
	// если всё норм составляешь запрос
	$sql = "UPDATE table SET `name`='" . $data['name'] . "', `desc`='" . $data['desc'] . "'";
	$sql .= " WHERE `id`='" . $data['id'] . "'";
	if (mysql_query ($sql))
	{
		return (true);
	}
	else
	{
		// выводишь ошибку или делаешь с ней что тебе надо mysql_error ()
		return (false);
	}
}
 

Фанат

oncle terrible
Команда форума
Ну, чтобы не редактировать по одному товару, а напимер сразу 10 выбранных
А какая разница?
по трудозатратам пользователя все то же самое - сначала выбираем, потом редактируем, потом сохраняем. Вся разница только в том, что кнопка сохранить нажимается не один раз, а несколько.
При этом куча неудобств с риском запутаться. Ну если ты, как программист, не понимаешь, как сделать, то зачем пользователя заставляешь мучаться?
Не надо изобретать велосипед на квадратных колесах. Попробуй делать только то, что нужно. а не то, что тебе в голову ударило.

-~{}~ 23.12.09 10:28:

и обязательно вылезет какой-нибудь доброхот. который знакомые слова в вопросе увидел
 

Фанат

oncle terrible
Команда форума
А ты подумай - где ты видел такое редактирование? И какой в нем смысл?
Только не грид, а именно куча форм одна под другой
 

robinner

Новичок
Автор оригинала: shureen
Ну смотри создаёшь функцию для изменения одной записи, что то типа такого:
А проверку на картику там же делать?

*****, почему выдумываю велосипед?
Ведь так удобнее.В phpMyAdmin так тоже ведь сделано... Очень удобно.
Другое дело ,что я чайник и не могу это качественно написать.
 
Сверху