|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.09.2008, 17:25 | #1 |
Регистрация: 18.09.2008
Сообщений: 4
|
Помогите написать скрипт обработки формы
Я новичок в PHP, прошу вашего совета. Имеется форма заказа на сайте: имя, имейл, телефон, город, и выбор из позиций товаров (19 позиций- полей text). Заказчик может выбрать произвольное число товаров. Нужно создать массив, mysql таблицу либо файл в виде таблицы (в читаемом виде), в который бы записывалась информация: имя, город, имейл, телефон и некоторые из позиций (те, которые были выбраны). Расчет стоимости берется из прайса -таблицы ("Название товара", "Стоимость"). Я пробовала составить массив, но не знаю, как к нему привязать многомерность. В базу тоже не получается грамотно составить запрос. помогите реализовать скрипт обработки.
Письмо ответа содержит сообщение вида: "Добрый день, Иван Иваныч! Вы заказали: Куртка "Маша" - 4 шт. Комбинезон - 4 шт. На общую сумму: 1320 руб. /* эту сумму и надо вычислить! */ Спасибо за ваш заказ!" Для компании должна быть доступна таблица: /* В одной таблице */ Имя: Иван Иваныч Город: Москва E-mail: xxx@xx.ru Телефон: Товары заказа: Куртка "Маша" - 4 шт. Комбинезон - 4 шт. и т.д. |
18.09.2008, 22:04 | #2 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
Вы хотите чтобы за вас реализовали? Или у вас какая-то определённая проблема с самостоятельной реализацией?
В первом случае, вам сюда: http://www.programmersforum.ru/forumdisplay.php?f=29 Во втором - указывайте точнее в чём проблема? Про многомерные массивы в PHP можно почитать тут: http://www.php.net/manual/ru/language.types.array.php
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
18.09.2008, 22:35 | #3 | |
Регистрация: 18.09.2008
Сообщений: 4
|
Цитата:
for ($i=1; $i<10; $i++) { $ni = $_POST['n'.$i]; if ($ni) $r2 = mysql_query("UPDATE $usertable SET col = $ni WHERE id = $i") or die (mysql_error()); } if ((!$name)||(!$city)||(!$email)||(!$ Valid)) { $a = 1; $sql="ALTER TABLE $usertable ADD col.'$a'"; mysql_close ($connect); $a++} Не работает |
|
19.09.2008, 02:04 | #4 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
конечно не будет так работать, ведь MySQL это реляционная база данных.
А значит сначала вам нужно просчитать какие столбцы вы хотите использовать и составить структуры базы, потом создать базу, таблицу и остальное, и затем в процессе работы просто вносить и изменять данные. Например, если представить грубо, то в вашей ситуации вам необходимо несколько таблиц. 1) товары 2) заказы 3) товары в заказах (это если очень грубо!) В первой таблице содержится ID товара, название, описание, цена и т.д. Во второй содержатся заказы, которые сделали клиенты, они содержат ID заказа, имя, адрес, общая стоимость (необязательно), и т.д. В третьей таблице содержатся отношения товар-заказ. То есть строки там состоят из ID заказа, ID товара и количество (это просто пример). Теперь когда нам нужно узнать какие товары принадлежат определённому заказу, то мы просто выбираем из третьей таблицы все ID и количества товаров принадлежащие заказу с определённым ID. ))) Если вы хорошо учили математику, читали мануалы и изучали базы данных - то вам не составит труда разобраться во всём этом. Если же нет, то прежде чем делать какой-то проект, вам прийдётся потратить какое-то время на изучение того, чем вы занимаетесь.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
19.09.2008, 10:27 | #5 |
Старожил
Регистрация: 09.09.2008
Сообщений: 2,624
|
Опять Johnatan меня опередил!
Но из вашего сообщения я понял что Вы примерно хотите. Не понял зачем писать информацию в файл или базу?! Создавайте сессионные переменные ($_SESSION), а для контроля то что отпрвляете клиенту сохраняйте в файле txt(file_put_contents()). Работать с файловыми хранилищами данных сложно для этого надо иметь глубокие знания в основах программирования, а для баз данных (присоединяюсь к Johnatan) нужно хорошо понимать основы построения реляционных баз данных. Учите мат часть. Удачи...
Стрелок-охотник
|
22.09.2008, 13:30 | #6 |
Регистрация: 18.09.2008
Сообщений: 4
|
Я не понимаю как добыть значения из столбца базы данных. Мне выводит либо одно значение (цены), а названия товаров не выводит вообще. Подскажите пожалуйста, ну не понимаю я, как получить все значения и обработать их в цикле для вычисления итога.
|
22.09.2008, 17:08 | #7 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
А как ты выбираешь?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
22.09.2008, 17:47 | #8 |
Регистрация: 18.09.2008
Сообщений: 4
|
вот так:
for ($k=0, $k<11, $k++) $n[k] = $_POST(''n''.$k); // в форме имена полей ввода n1, n2... n11 $a = mysql_query("SELECT * FROM price"); while ($b=mysql_fetch_row($a)) { $costa = $b['cost']; $tovars = $b['tovar']; } $summa = 0; for ($i=0, $i<sizeof($costa); $i++) { if isset($n[i]) $summa = $summa + $costa[i]*$n[i]; } |
22.09.2008, 22:21 | #9 |
Antimoderаtoris
Участник клуба
Регистрация: 08.02.2008
Сообщений: 1,251
|
А в таблице price есть колонка tovar? И в ней есть название товара?
Попробуй сделать PHP код:
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите написать простенький скрипт | Сева Белуччи | PHP | 1 | 29.05.2008 17:31 |
данные из формы в скрипт | Elm0 | PHP | 29 | 20.04.2008 19:28 |
Скрипт для отпраки формы на е-mail | President | JavaScript, Ajax | 2 | 29.03.2008 12:41 |
написать программу обработки двумерного массива | Miushka | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 05.02.2008 23:32 |