Рекурсивная выборка с бд - Visavi.net
https://visavi.net/
RSS - Visavi.nethttps://visavi.net/assets/img/images/logo_small.pngRSS - Visavi.net
https://visavi.net/
[email protected] (admin)[email protected] (admin)Thu, 09 Jan 2025 22:26:24 +0300все хорошо - просто не те параметры передавал в запрос<br>
<pre class="prettyprint"> public function loadSections ($uid = 0, $step = 0)
{
$uid = (int)abs($uid);
$q = "SELECT * FROM i_sec WHERE uid='".$uid."'";
foreach ($this->db->query($q) as $sec ){
$count = $this->db->query("SELECT COUNT(*) FROM i_sec WHERE uid='".$sec['id']."'")->fetch();
echo str_repeat('-',$step);
echo $sec['name'].'<br/>';
if ($count[0]){
$this->loadSections($sec['id'],$step+1);
} else {
$this->loadSections($sec['id'],$step-1);
}
}
} </pre>
<br>
будут предложения по усовершенствованию кода?<br>
<br>
<em><span style="font-size:x-small">Добавлено через 03:28 сек.</span></em><br>
нужно ли кешовать если будет ~30записей?
https://visavi.net/topics/33419/576430
Рекурсивная выборка с бд ВиталийMon, 23 Jul 2012 15:58:53 +0400Сообщенияhttps://visavi.net/topics/33419/576430<pre class="prettyprint"> public function loadSections ($uid = 0, $step = 0)
{
$uid = (int)abs($uid);
$q = "SELECT * FROM i_sec WHERE uid='".$uid."'";
echo str_repeat('-',$step);
foreach ($this->db->query($q) as $sec ){
$count = $this->db->query("SELECT COUNT(*) FROM i_sec WHERE uid='".$uid."'")->fetch();
echo $sec['name'].'<br/>';
if ($count[0]){
$this->loadSections($sec['id'],$step+1);
} else {
$this->loadSections($sec['id'],$step-1);
}
}
}</pre>
родил что то такое - но на каком то вхождению начинает некоректо работать, м.б есть у кого желание моз потренировать?)
https://visavi.net/topics/33419/576422
Рекурсивная выборка с бд ВиталийMon, 23 Jul 2012 15:35:11 +0400Сообщенияhttps://visavi.net/topics/33419/57642210. <strong>Кевин Митник_HHTeam</strong>, зато быстрее.
https://visavi.net/topics/33419/576378
Рекурсивная выборка с бд ПетрMon, 23 Jul 2012 13:34:51 +0400Сообщенияhttps://visavi.net/topics/33419/5763789. какраз етот способ пришол утром))..<br>
буду работать...
https://visavi.net/topics/33419/576374
Рекурсивная выборка с бд ВиталийMon, 23 Jul 2012 13:15:57 +0400Сообщенияhttps://visavi.net/topics/33419/576374ресурсоемко, при большем количестве данных.
https://visavi.net/topics/33419/576369
Рекурсивная выборка с бд Кевин МитникMon, 23 Jul 2012 13:02:11 +0400Сообщенияhttps://visavi.net/topics/33419/576369Если нужно построить дерево всех разделов, то наверняка проще будет разом извлечь все данные и разбирать с помощью php.
https://visavi.net/topics/33419/576332
Рекурсивная выборка с бд ПетрMon, 23 Jul 2012 10:46:23 +0400Сообщенияhttps://visavi.net/topics/33419/5763326. наверное нет - поскольку я их создавал и не знаю что ето)))<br>
7. ммм там столько кода, проще самому подумать...)
https://visavi.net/topics/33419/576277
Рекурсивная выборка с бд ВиталийMon, 23 Jul 2012 03:06:49 +0400Сообщенияhttps://visavi.net/topics/33419/5762775. <strong>id1</strong>, дык там с базой
https://visavi.net/topics/33419/576270
Рекурсивная выборка с бд iNeeXTMon, 23 Jul 2012 02:40:07 +0400Сообщенияhttps://visavi.net/topics/33419/576270в таблицах связи организованы вторичными индексами? если да, то просто рекурсивная функция выборки
https://visavi.net/topics/33419/576268
Рекурсивная выборка с бд Кевин МитникMon, 23 Jul 2012 01:59:03 +0400Сообщенияhttps://visavi.net/topics/33419/5762684. ммм ето с директориями, я слово "папка" образно использовал... у меня та же задача но с БД
https://visavi.net/topics/33419/576265
Рекурсивная выборка с бд ВиталийMon, 23 Jul 2012 01:30:40 +0400Сообщенияhttps://visavi.net/topics/33419/576265По-моему то что нужно <a href="http://www.askdev.ru/question/3553/%D0%9F%D1%80%D0%BE-%D0%B8%D0%B5%D1%80%D0%B0%D1%80%D1%85%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4-%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85/" target="_blank" rel="nofollow">http://www.askdev.ru/question/3553/Про-иерархический-вывод-данных/</a>
https://visavi.net/topics/33419/576264
Рекурсивная выборка с бд iNeeXTMon, 23 Jul 2012 01:13:34 +0400Сообщенияhttps://visavi.net/topics/33419/5762642. дерево розделов, подрозделов, к ним всем страницы
https://visavi.net/topics/33419/576262
Рекурсивная выборка с бд ВиталийMon, 23 Jul 2012 00:47:58 +0400Сообщенияhttps://visavi.net/topics/33419/576262типа дерево сообщений вывести?
https://visavi.net/topics/33419/576257
Рекурсивная выборка с бд МихаилMon, 23 Jul 2012 00:18:11 +0400Сообщенияhttps://visavi.net/topics/33419/576257Честно говоря не хочется "***кодить" и поетому прошу помощи у более опытных php программистов.<br>
Есть таблица i_sec структура(id, name, uid)<br>
Также есть таблица i_page(id,uid,title,name)<br>
Вообще i_sec как-бы папки(uid=0 это главные а дальше нужно рекурсивно до потери пульса выводить папки с uid прикрепленным к пред. папке )<br>
Также к ним выводить страницы с i_page ( uid страницы не может быть 0 соответственно прикрепляется хоть к какой то папке.<br>
Эх буду рад если кто нибудь поймет, а если поможет то вообще день удался <img src="https://visavi.net/uploads/stickers/smile.gif" alt="smile">
https://visavi.net/topics/33419/576248
Рекурсивная выборка с бд ВиталийSun, 22 Jul 2012 23:46:00 +0400Сообщенияhttps://visavi.net/topics/33419/576248