X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Собрать все функции в один класс
arbet
arbet
Topic Starter сообщение 19.11.2013, 10:42; Ответить: arbet
Сообщение #1


Помогите пожжжалуйста новичку в ООП.
У меня есть несколько функций, результат которых - массив с полями товара.
С классами в теории знаком..
но как это все дело собрать в одну кучу - теряюсь...
В идеале, обращение к БД должно быть один раз, если на странице имеется несколько обращений к моему не существующему классу.


[php]
<?
function dbRequest($table,$sort){
mysql_connect("localhost", "bd_name", "password");
mysql_select_db("user");

$result = mysql_query("SELECT * FROM ".$table." ORDER BY ".$sort." DESC"); //b_iblock_element_property
$news = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$news[] = $row;
}
mysql_free_result($result);
return $news;
}

function propertyesKey($prop_id){
$propertys=dbRequest("b_iblock_property","ID");
foreach($propertys as $prop_list){
if($prop_list["ID"]==$prop_id){
$name=$prop_list["NAME"];
}
}
return $name;
}

function propertyList($element_id){
$property_list=array();
$property_value=dbRequest("b_iblock_element_property","IBLOCK_PROPERTY_ID");
foreach($property_value as $cell=>$value){
if($element_id==$value["IBLOCK_ELEMENT_ID"]){
$property_list[$value["IBLOCK_PROPERTY_ID"]]=array(
"NAME"=>propertyesKey($value["IBLOCK_PROPERTY_ID"]),
"VALUE"=>$value["VALUE"]
);
}
}
return $property_list;
}

function elementID($id){
$element=dbRequest("b_iblock_element","id");
foreach($element as $key=>$list){
if($id==$list["ID"]){
$element_array=$list;
$element_array["PROPERTY"]=propertyList($list["ID"]);
}
}
return $element_array;
}
?>

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>bElement</title>
</head>
<body>
<pre>
<? print_r(elementID(778));?>
</pre>
</body>
</html>
[/php]

Выводимый результат
Array
(
    [ID] => 778
    [NAME] => Стол и 4 стула
    [PREVIEW_TEXT] => Столешница покрыта меламином - устойчивая к воздействию влаги и повреждениям отделка, которую легко поддерживать в чистоте.
   ...
   ...
    [PROPERTY] => Array
        (
            [99] => Array
                (
                    [NAME] => Максимальная цена
                    [VALUE] => 7000.00
                )
   ...
   ...
)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fedornabilkin
fedornabilkin
сообщение 25.11.2013, 10:26; Ответить: fedornabilkin
Сообщение #2


но как это все дело собрать в одну кучу - теряюсь...

Если теряешься, значит еще почитай информацию по классам. Изучи суть и принцип ООП.
Разбери два основных понятия: инкапсуляция и полиморфизм. Что это, для чего и почему.

Что бы было легче и проще, начни работать с готовыми классами, а не создавай свои. Например можно для начала использовать готовые классы для работы с БД.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) QIWI кажется все?
104 Silverspam 16482 25.3.2024, 6:31
автор: Skyworker
Открытая тема (нет новых ответов) Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на первый заказ.
Мегамаркет. Скидка 1000 рублей при покупке от 5000 рублей на все, на п
6 stu999 1551 21.3.2024, 20:45
автор: stu999
Открытая тема (нет новых ответов) Все легальные аккаунты без НДС. Facebook Ads, Яндекс Директ и Google Ads без НДС. Отзывы SaveBalance
123
5 DerianFox 3746 7.7.2023, 19:07
автор: rom36
Открытая тема (нет новых ответов) RedBox - все нужные инструменты в одном месте
0 fantomofdarkness 780 15.2.2023, 14:50
автор: fantomofdarkness
Открытая тема (нет новых ответов) Внимание! Накрутка просмотров ВК на все посты стены. ДЕШЕВО!
0 robot_yaga2 910 4.7.2022, 15:17
автор: robot_yaga2


 



RSS Текстовая версия Сейчас: 29.3.2024, 1:00
Дизайн