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]   

> Описание: Объекта - товара, статьи и прочего...
sabriel
Отправлено: 23 Апреля, 2012 - 03:16:59
Post Id


Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июнь 2008  
Откуда: Салават, Башкортостан


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




Здравствуйте. Возможно вопрос не новый, но вот что то задумался как сделать независимые свойства для определенного объекта (товар, заявка) не важно.
То есть: есть объект. Необходимо в настройках сделать ему свойства
Вес
Цвет
Форма

Например. То есть в базе будет в таблице свойств что то типа такого
1 вес
2 цвет
3 форма

К объекту будет так
id объекта 1 150
id объекта 2 красный
id объекта 3 круглый


То есть здесь пока все понятно.

Но вот потом, надо вывести эти свойства на страницу. КАК?

Можно ли это сделать одним запросом (я думаю что нет, но вдруг способ есть) или для каждого товара придется делать свой запрос потом в цикле собирать свойства? и так далее?

Прошу совета, и прошу не пинать)

(Отредактировано автором: 23 Апреля, 2012 - 03:21:16)

 
 Top
tato
Отправлено: 23 Апреля, 2012 - 09:22:19
Post Id



Посетитель


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


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




Примерно так:

PHP:
скопировать код в буфер обмена
  1.  
  2. $db = new PDO( "mysql:host=$host;dbname=$dbname", $user, $password );
  3.  
  4. $stmt = $db->prepare( "SELECT weight, color, form FROM tbl_name" );
  5.  
  6. if( !stmt->execute() )
  7. {
  8.     print_r( $stmt->errorInfo() );
  9. }
  10.  
  11. $result = $stmt->fetchAll( PDO::FETCH_ASSOC );
  12.  
  13. foreach( $result as $item )
  14. {
  15.      printf( "weight:%s, color:%s, form:%s", $item['weight'], $item['color'], $item['form'] );
  16. }
  17.  


-----
просто ?: сложно
 
 Top
sabriel
Отправлено: 26 Апреля, 2012 - 11:22:07
Post Id


Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июнь 2008  
Откуда: Салават, Башкортостан


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




так в таблице не будет столбцов weight, color, form.
а будет что то типа
id name
1 вес

потому что эти данные (свойства) необходимо заполнять динамически, а не менять структуру БД под потребности
 
 Top
Alho
Отправлено: 26 Апреля, 2012 - 11:32:11
Post Id



Посетитель


Покинул форум
Сообщений всего: 322
Дата рег-ции: Апр. 2012  


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




sabriel пишет:

потому что эти данные (свойства) необходимо заполнять динамически, а не менять структуру БД под потребности


И откуда вы собираетесь брать эти свойства?

Кстати, нет ничего в страшного в том, что бы дополнять таблицу новыми нужными столбцами.
 
 Top
sabriel
Отправлено: 27 Апреля, 2012 - 07:16:12
Post Id


Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Июнь 2008  
Откуда: Салават, Башкортостан


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




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

меня же интересует как можно работать с этой структурой, или подскажите свой вариант

(про дополнения таблицы столбцами я понял, но хотелось бы услышать еще варианты) но как мне кажется тот что я написал самый универсальный. осталось решить вопрос с выводом (без цикла запросов)
 
 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