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


<?
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>



Выводимый результат

Array
(
[ID] => 778
[NAME] => Стол и 4 стула
[PREVIEW_TEXT] => Столешница покрыта меламином - устойчивая к воздействию влаги и повреждениям отделка, которую легко поддерживать в чистоте.
...
...
[PROPERTY] => Array
(
[99] => Array
(
[NAME] => Максимальная цена
[VALUE] => 7000.00
)
...
...
)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.