Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.09.2008, 17:25   #1
Lenokk
 
Регистрация: 18.09.2008
Сообщений: 4
Вопрос Помогите написать скрипт обработки формы

Я новичок в PHP, прошу вашего совета. Имеется форма заказа на сайте: имя, имейл, телефон, город, и выбор из позиций товаров (19 позиций- полей text). Заказчик может выбрать произвольное число товаров. Нужно создать массив, mysql таблицу либо файл в виде таблицы (в читаемом виде), в который бы записывалась информация: имя, город, имейл, телефон и некоторые из позиций (те, которые были выбраны). Расчет стоимости берется из прайса -таблицы ("Название товара", "Стоимость"). Я пробовала составить массив, но не знаю, как к нему привязать многомерность. В базу тоже не получается грамотно составить запрос. помогите реализовать скрипт обработки.
Письмо ответа содержит сообщение вида: "Добрый день, Иван Иваныч! Вы заказали:
Куртка "Маша" - 4 шт.
Комбинезон - 4 шт.

На общую сумму: 1320 руб. /* эту сумму и надо вычислить! */
Спасибо за ваш заказ!"

Для компании должна быть доступна таблица: /* В одной таблице */
Имя: Иван Иваныч
Город: Москва
E-mail: xxx@xx.ru
Телефон:
Товары заказа:
Куртка "Маша" - 4 шт.
Комбинезон - 4 шт.

и т.д.
Lenokk вне форума Ответить с цитированием
Старый 18.09.2008, 22:04   #2
Johnatan
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% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 18.09.2008, 22:35   #3
Lenokk
 
Регистрация: 18.09.2008
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Johnatan Посмотреть сообщение
Вы хотите чтобы за вас реализовали? Или у вас какая-то определённая проблема с самостоятельной реализацией?
В первом случае, вам сюда: http://www.programmersforum.ru/forumdisplay.php?f=29
Во втором - указывайте точнее в чём проблема?
Про многомерные массивы в PHP можно почитать тут: http://www.php.net/manual/ru/language.types.array.php
Я читала на разных сайтах, и в первую очередь руководство. Вопрос - как осуществить реализацию этой таблицы? Чтобы получилась таблица, и чтобы ее потом можно было обрабатывать. Я пыталась в цикле если введено новое имя, вставлять в базу данных новый столбец - допустим col1, col2 и т.д. А отладчик пишет, что такое действие неправильное. Вот код:

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++}


Не работает
Lenokk вне форума Ответить с цитированием
Старый 19.09.2008, 02:04   #4
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

конечно не будет так работать, ведь MySQL это реляционная база данных.
А значит сначала вам нужно просчитать какие столбцы вы хотите использовать и составить структуры базы, потом создать базу, таблицу и остальное, и затем в процессе работы просто вносить и изменять данные.

Например, если представить грубо, то в вашей ситуации вам необходимо несколько таблиц.
1) товары
2) заказы
3) товары в заказах
(это если очень грубо!)
В первой таблице содержится ID товара, название, описание, цена и т.д.
Во второй содержатся заказы, которые сделали клиенты, они содержат ID заказа, имя, адрес, общая стоимость (необязательно), и т.д.
В третьей таблице содержатся отношения товар-заказ. То есть строки там состоят из ID заказа, ID товара и количество (это просто пример).
Теперь когда нам нужно узнать какие товары принадлежат определённому заказу, то мы просто выбираем из третьей таблицы все ID и количества товаров принадлежащие заказу с определённым ID. )))

Если вы хорошо учили математику, читали мануалы и изучали базы данных - то вам не составит труда разобраться во всём этом. Если же нет, то прежде чем делать какой-то проект, вам прийдётся потратить какое-то время на изучение того, чем вы занимаетесь.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 19.09.2008, 10:27   #5
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Опять Johnatan меня опередил!
Но из вашего сообщения я понял что Вы примерно хотите. Не понял зачем писать информацию в файл или базу?! Создавайте сессионные переменные ($_SESSION), а для контроля то что отпрвляете клиенту сохраняйте в файле txt(file_put_contents()). Работать с файловыми хранилищами данных сложно для этого надо иметь глубокие знания в основах программирования, а для баз данных (присоединяюсь к Johnatan) нужно хорошо понимать основы построения реляционных баз данных.
Учите мат часть. Удачи...
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 22.09.2008, 13:30   #6
Lenokk
 
Регистрация: 18.09.2008
Сообщений: 4
По умолчанию

Я не понимаю как добыть значения из столбца базы данных. Мне выводит либо одно значение (цены), а названия товаров не выводит вообще. Подскажите пожалуйста, ну не понимаю я, как получить все значения и обработать их в цикле для вычисления итога.
Lenokk вне форума Ответить с цитированием
Старый 22.09.2008, 17:08   #7
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

А как ты выбираешь?
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 22.09.2008, 17:47   #8
Lenokk
 
Регистрация: 18.09.2008
Сообщений: 4
По умолчанию

Цитата:
Сообщение от Johnatan Посмотреть сообщение
А как ты выбираешь?
вот так:

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];
}
Lenokk вне форума Ответить с цитированием
Старый 22.09.2008, 22:21   #9
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

А в таблице price есть колонка tovar? И в ней есть название товара?

Попробуй сделать
PHP код:
$a mysql_query("SELECT * FROM price");
$b=mysql_fetch_row($a);
print_r($b); 
и напиши сюда, что тебе выводит.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать простенький скрипт Сева Белуччи 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