kombat
Новичок
Несколько соединений с БД
Приветствую.
Есть ф-я отображения дерева, принимающая в качестве параметров: $pid - id родительского элемента. $ur - уровень вложения.
Каждый элемент в БД имеет 3 атрибута: id, pid, name.
Как видите, ф-я может вызываться многократно в зависимости от кол-ва веток. Вопрос следующий: правильно ли, что соединение с БД устанавливается при каждом вызове или достаточно установить одно соединение и передавать его идентификатор в качестве параметра? И нужно ли закрывать соединения и освобождать буфер с результатами?
Спасибо.
Приветствую.
Есть ф-я отображения дерева, принимающая в качестве параметров: $pid - id родительского элемента. $ur - уровень вложения.
Каждый элемент в БД имеет 3 атрибута: id, pid, name.
PHP:
function tree($pid, $ur){
mysql_connect("host.ru", "user_name", "pass123");
mysql_select_db("db_name");
$result = mysql_query("SELECT * FROM temp WHERE pid=$pid");
$num_rows = mysql_num_rows($result);
while($row = mysql_fetch_assoc($result)){
$tab = ""; // отступ для дочерних элементов
for($i = 0; $i < $ur; $i++){
$tab = $tab."      ";
}
echo $tab.$row["name"]."<br>";
tree($row["id"], $ur + 1); // рекурсивный вызов ф-и для прохода по ветке
}
}
tree(0, 0); // вызов ф-и
Спасибо.