|
|
|
| День добрый граждане.
Есть вот такой адский скрипт:
<form method="post" action="add.php?act=add">
<?php
$num_on_row = 7;
$num = 175;
$iter = $num + ($num_on_row - ($num % $num_on_row));
print '<table border="1" align="center" width="" cellpadding="0" cellspacing="0">
<tr><td colspan="7" align="center"><b>Название блюда</b></td></tr>
<tr><td colspan="7"><textarea name="name_blud" cols="100"></textarea></td></tr>
<tr>
<td rowspan="2"><b>Наименование продуктов</b></td>
<td colspan="2">1 порция</td>
<td>Б</td>
<td>Ж</td>
<td>У</td>
<td>Калл.</td>
</tr>
<tr><td>Брутто</td><td>Нетто</td></tr>';
for($i=1;$i<=$iter;$i++)
{
$ost = $i % $num_on_row;
if($ost ==1) print '<tr>';
print '<td>'.(($i <= $num) ? '<input '.(($ost ==1) ? '' : 'size="6" ').'type="text" value="-" name="col_[]" />' : '').'</td>';
if($ost ==0) print '</tr>';
}
print '<tr><td colspan="7" align="center"><b>Описание процесса приготовления</b></td></tr>
<tr><td colspan="7" align="center"><textarea name="opisanie" cols="100"></textarea></td></tr>
<tr><td colspan="3" align="center">№ рецепта</td><td colspan="3" align="center">Рецептурник</td><td><input type="reset" value="Очистить" onclick="return confirm (\'Вы уверены что хотите очистить форму?\')"/></td></tr>
<tr><td colspan="3" align="center"><input type="text" name="num"/></td><td colspan="3" align="center"><input type="text" name="rec"/></td><td><input type="submit" value="Записать" mame="add" onclick="return confirm (\'Вы уверены что все правильно заполнено?\')"/></td></tr></table>';
?>
</form>
|
это дело генерирует в цикле форму на 170 (или около) того полей.
Генерирует успешно и красиво.
Вот собственно обработчик формы:
<?php
if(empty($_POST['add'])){
require'../conf/db.php';
if(is_array($_POST['col_'])){
$sql = "INSERT INTO `1blud` SET ";
foreach($_POST['col_'] as $key=>$value){
$sql .= " `col_".$key."` = '".$value."',";
}
}
@$sql .= " `name_blud` = '".$_POST['name_blud']."', "." `opisanie` = '".$_POST['opisanie']."',"."`num` = '".$_POST['num']."',"."`rec` = '".$_POST['rec']."';";
mysql_query($sql) or die("ERROR!<br/>".mysql_error());
header("location: index.php");
}else{
header("location: index.php");
?>
|
обрабатывает тоже так как нужно.
Вопрос собственно в том как это редактировать?
Выводить как то в такую же форму,но как?
Че то я даже не знаю с какого бока подлезть ....
Натолкните на мысль что ли.... | |
|
|
|
|
 5.7 Кб |
|
|
для: nek-v
(25.09.2008 в 11:17)
| | Посмотрите архив | |
|
|
|
|
|
|
|
для: Valick
(25.09.2008 в 11:40)
| | архив посмотрел,нашел много чего интересного,но мало подходящего к моей ситуации. | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 18:19)
| | В каком смысле редатировать и кто будет редактировать? | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 18:24)
| | Выбрать из базы в форму,в такую же как и вносили но с данными из базы.
Исправить там пару букв к примеру и записать обратно.
У меня в частности трудность с генерацией такой же формы но с выводом данных из БД | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 18:28)
| | Вы не ответили кто будет редактировать. Если автор этого рецепта, то автор должен быть авторизован и может редактировать только свое. Ну а в остальном какая может быть проблема. Рецепты как-то у вас же разделены по категориям. Значит можно выбрать из категории нужный рецепт и вывести в точно такую же форму в какой она и добавляется, только после редактирования не INSERT, а UPDATE соответствующей записи (по ID). | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 18:37)
| | Там нет авторизаций.
Рецепты пишет один человек.
По категориям они естественно разбиты.
Я просто чет не сооброжу куда в тот запрос WHERE `id` прикрутить, ибо код не весь мой.... | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 18:51)
| | У вас как связаны категории рецептов и сами рецепты? У вас, по идее, должны быть категории, которые имеют свой уникальный ID, и это просто обеспечить полем с автоинкрементом. Сами рецепты также должны иметь такое поле, и поле ID родителя, то есть по которому определяется принадлежность рецепта к той или иной категории.
Некто "Х" получает список рецептов некой категории (например, через меню) у которых есть ссылка "Редактировать", которая в свою очередь должна указывать ID рецепта, по которому вы находите его в базе и выводите в форму для редактирования. По этому же ID обновляете запись после редактирования. | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 18:59)
| | нет. все гораздо проще)))
тупо на каждую категорию своя папка с идентичным скриптом и отдельной таблицей в бд | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 19:05)
| | Это не проще, это глупее. | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 19:10)
| | когда у тебя есть только один день на создание чего либо подобного при минимальных знаниях
как то не особо думается об "умном" программировании.(( | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 19:14)
| | Понимаете, вам кажется, что вы "упростили себе жизнь", на самом деле вы ее усложняете. Например, вы можете вывести весь список рецептов некой категории. И пусть даже в этой категории не будет рецептов с одинаковым названием, по которому вы можете обновлять запись (идентификация в таблице). Но если вам во время редактирования придется изменить название рецепта, например, в нем была допущена ошибка, то какую запись в таблице вы будете обновлять? Вы надеетесь на номер? Можно, но ведь номер тоже у вас указывает автор, а значит и тут может произойти сбой.
Один день, это не оправдание для необдуманной структуры таблиц. Именно от этой структуры во многом будет определятся ваш код. Надо было заглянуть в раздел MySQL, почитать... | |
|
|
|
|
 15.1 Кб |
|
|
для: sim5
(25.09.2008 в 19:30)
| | sim5 поверьте, я могу вывести и вывожу список категорий и список рецептов в нем.
Есть у меня дурная привычка в любую создоваемую мной таблицу, совать уникальное автоинкрементное id (глядишь и сгодится:)))
Каждая запись имеет свой id и при выводе списка рецептов я ореинтируюсь именно по нем.
Я просто не могу (ну блин не доходит до меня) сгенерировать ТУ ЖЕ ФОРМУ но с готовым рецептом из БД обращаясь по id!
форма генерировалась циклом,впрочем как и записывалась.
Как всунуть вывод из бд в тот же цикл я и не пойму((((((
P.S. Дамп в приложенном файле | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 19:48)
| | Ну если есть уникальные ID, то какие проблемы? Получаете весть список рецептов категории. У каждого рецепта ссылка, в которой есть параметр, например, id=12. Получая этот GET параметр, получаете по нему из таблицы все поля рецепта, которые надо редактировать и выводите в форму. В этой форме также добавляете скрытое поле со значеним этого ID. По этому ID и обновите запись с уникальным номером 12. Разница форм только в том, что в первом случае вы выводите поля формы пустыми, во втором случае заполненные значениями полученными из базы. В чем собственно трудность? | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 19:54)
| | мда.....
как видно из кода формы запросов там нет никаких.
просто форма.
я не могу упрятать запрос и вывод в код этой формы((((((((((( | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 20:08)
| | Вы кроме того, что в связи с одним днем запихали все в разные таблицы и т.д., вы еще хотите изучить РНР и MySQL за один день? | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 20:14)
| | ну не за один конечно....
Запись выборку редактирование и удаление(по части SQL запросов) я уж умею делать.
да и вывод вроде тож.
sim5 вы здесь не первый день, да и опыта не мало я думаю.
Можете показать пример чего либо подобного? | |
|
|
|
|
|
|
|
для: nek-v
(25.09.2008 в 20:23)
| | Пример чего? Если вы знаете как делать выборку из базы значений, а также значений по условию, так какая проблема? Я вам уже рассказал все, как можно сделать, пишите. Я не знаю каким образом у вас пользователь получает все рецепты категорий, но начинайте с этого. Некто кто редактирует все, выбирает в меню "Редактировать", затем категорию и получает список рецептов из которого может выбрать необходимый для редактирования, ну и делее, что я уже писал. Вы что хотите чтобы я весь интерфейс написал для вас? Я этого делать не буду, хотя бы потому, как многого не знаю чего у вас там и как все взаимодействует.
Что касается непосредственно выбора рецепта для редатирования, то напишите единственный запрос для рецепта, например, id=5. Если все поля редактируются, значит получайте все поля, если нет, то только необходимые. Выводите форму - точно такую же какая у вас для добавления рецептов (может быть с меньшим числом полей, если не все редактируются), но атрибутам value полей этой формы присваивайте соответствующие значения полей из таблицы. Знаете как запрос делать - пишите, знаете как форму выводить, выводите... Будут ошибки, помогут исправить, но а догадываться как все это у вас выглядит никто ведь не будет. | |
|
|
|
|
|
|
|
для: sim5
(25.09.2008 в 20:35)
| | хм...
логично...(((
чтож,спасибо за помошь.... | |
|
|
|