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]   

> Описание: интернет магазин. несколько параметров у одного товара
gsnzone
Отправлено: 28 Мая, 2011 - 19:06:12
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2011  


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




помогите реализовать следующее... есть скрипт интернет магазина, исп. mysql, у конкретного товара могут быть дополнительные атрибуты, например, размер, цвет... у каждого атрибута - своя цена... их можно создавать и редактировать в настройках товара... собственно, я не знаю, как реализовать такое, может подскажете схемкой какой, какая должна быть структура таблиц mysql, какие запросы должны быть, как это должно храниться... спасибо заранее )))

вот что имеем. таблица shop_products с такими параметрами: id, title, description, image и тп, shop_preorder с такими: ip, username, id_товара, кол-во...

при заказе в таблицу shop_preorder помещается ip клиента и id товара... как ко всему этому еще подцепить параметры, которые возможно человек выбрал бы при добавлении в корзину?

(Отредактировано автором: 28 Мая, 2011 - 19:08:11)

 
 Top
molchun201
Отправлено: 28 Мая, 2011 - 19:27:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




gsnzone пишет:
при заказе в таблицу shop_preorder помещается ip клиента и id товара
думаю это лишняя нагрузка на базу будет, лучше такие вещи делать на сессииях, и зачем ip помещать в БД? У большинства пользователей нэта ip динамический

gsnzone пишет:
как ко всему этому еще подцепить параметры

mysql запросом типа JOIN


-----
Обрамляйте код тегами и читайте
 
 Top
gsnzone
Отправлено: 28 Мая, 2011 - 19:40:15
Post Id


Новичок


Покинул форум
Сообщений всего: 19
Дата рег-ции: Май 2011  


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




спасибо, а при использовании join, что требутся? создать дополнительную таблицу shop_params, и в ней хранить параметры товара? какова будет ее структура, если параметр может быть только один, а может быть и пять... + у каждого параметра может быть своя цена..

(Отредактировано автором: 28 Мая, 2011 - 19:43:13)

 
 Top
molchun201
Отправлено: 28 Мая, 2011 - 19:48:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011  
Откуда: Менеск


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




gsnzone пишет:
спасибо

Для этого есть кнопка ("Спасибо") Язычок
Цитата:
при использовании join, что требутся?

Ничего, это стандартная SQL команда, которая и в MySQL работает Подмигивание
Цитата:
какова будет ее структура

Я дал направление куда копать, так что ломату в зубы и вперёд Улыбка

Начать копать Улыбка


-----
Обрамляйте код тегами и читайте
 
 Top
Sveta
Отправлено: 29 Мая, 2011 - 11:31:02
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




Помогите пожалуйста!!! Проблема с каталогом товаров интернет-магазина. Каждый товар представлен в отдельном файле. Например, для представления в интернет-магазине раковины с соответствующими ей параметрами создан файл rakovina.php, где запрос выводит конкретно эту раковину. Проблема состоит в том как добавить новый товар в каталог, чтобы он также был в отдельном файле и выводился в каталоге.
(Добавление)
[quote=Sveta][/quote]или лучше сделать каталог как-то по другому?
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Мая, 2011 - 11:43:18
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Sveta пишет:
Каждый товар представлен в отдельном файле.
Файловая БД?
Sveta пишет:
rakovina.php, где запрос выводит конкретно эту раковину.
а в файле unitaz.php выводится унитаз???
Если я не прав - поясните.
 
 Top
Sveta
Отправлено: 29 Мая, 2011 - 11:46:52
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




база данных mysql и пишется все возможное на php. А про унитаз вы правильно поняли
(Добавление)
Запросом выводится запись конкретного товара
 
 Top
DeepVarvar Супермодератор
Отправлено: 29 Мая, 2011 - 11:57:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


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




Неверно.
Нужно чтобы в ОДНОМ файле (например) tovar.php выводились или унитаз или раковина или иной товар или сообщение о том что запрашиваемый товар не найден.

У каждого товара есть свой id, так и пишите в ссылках (файл один а id разные):
<a href="tovar.php?id=56">Раковина</a>
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT * FROM tovary WHERE id = $_GET['id']
 
 Top
Sveta
Отправлено: 29 Мая, 2011 - 12:02:35
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




что каталог переделать надо мне теперь понятно. Спасибо. А вот как добавить новый товар в каталог. Ведь человек, который будет добавлять этот новый товар, не будет знать какой id будет у этой записи
(Добавление)
и получается как эту новую запись вывести
 
 Top
EuGen Администратор
Отправлено: 29 Мая, 2011 - 12:50:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Предположим, что у Вас есть таблица товаров в БД.
Выглядит она просто - есть 2 колонки id (номер, идентификатор) и name (название товара)
Предположим также, что Вы выводите товар через некоторый script.php таким образом:
PHP:
скопировать код в буфер обмена
  1.  
  2. //connect to DB first
  3. $id = (int)$_GET['id'];
  4. $rSelect = mysql_query('SELECT id,name FROM shop_goods WHERE id='.$id);
  5. $rgData  = mysql_fetch_array($rSelect);
  6. if(!isset($rgData['id']))
  7. {
  8.    exit('No goods found');
  9. }
  10. echo("<h1>".$rgData['name']."</h1>");
  11. //show description or whatever you want
  12. echo("<br><a href='add.php'>Добавить товар</a>");
  13.  

В таком примере для добавления товара Вам достаточно создать форму и скрипт примерно такого содержания:
add.php
PHP:
скопировать код в буфер обмена
  1.  
  2. //connect to DB
  3. if(!isset($_POST['add']))
  4. {
  5.    echo("<form action='add.php' method='POST'>");
  6.    echo("<input type='text' name='name'>");
  7.    echo("<inpput type='submit' name='add' value='Добавить товар'>");
  8.    echo("</form>");
  9. }
  10. else
  11. {
  12.    if(empty($_POST['name']))
  13.    {
  14.       //no name specified - return:
  15.       header('Location: add.php');
  16.       exit;
  17.    }
  18.    else
  19.    {
  20.       $rAdd = mysql_query("INSERT INTO shop_goods (name) VALUES ('".mysql_real_escape_string($_POST['name'])."')");
  21.       $id    = mysql_insert_id();
  22.       //all done - view good now:
  23.       header('Location: script.php?id='.$id);
  24.       exit();
  25.    }
  26. }
  27.  

Важная деталь: чтобы add.php работал корректно, поле id должно быть первичным ключом с объявленным свойством AUTO_INCREMENT.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Sveta
Отправлено: 29 Мая, 2011 - 12:57:10
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




Спасибо за помощь. Я новичок во всем этом деле. Вот что означает строки:
$id = (int)$_GET['id'];
header('Location: add.php');
 
 Top
EuGen Администратор
Отправлено: 29 Мая, 2011 - 13:00:13
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Первое
http://php.su/learnphp/datatypes/?integer
Смотрите абзац "Преобразование в целое (integer)"
Второе
http://www.php.su/functions/?header
Для понятности - заголовок Location указывает браузеру новый url, по которому нужно перейти.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Sveta
Отправлено: 29 Мая, 2011 - 13:01:55
Post Id


Новичок


Покинул форум
Сообщений всего: 33
Дата рег-ции: Май 2011  


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




Вроде понятно. Сердечное спасибо Радость
 
 Top
EuGen Администратор
Отправлено: 31 Мая, 2011 - 10:14:38
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Предыдущее сообщение было уже ранее выделено в новую тему.
http://forum.php.su/topic.php?forum=1&topic=7616
Тема закрыта!


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 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