phpRS help fórum : phpRS Fórum
Hlavní diskuzní phpRS fórum. Najdete zde odpovědi na otázky týkající se provozu a instalace phpRS systému.
phpRS - redakční a informační systém
Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2012-09-26, 15:10

Zdravím,

řeším teď celkem zajímavý problém

Mám hlavní rubriky (sport, aktuality, kultura apod.) a ty mají své podrubriky, které zase mají své podrubriky atd. atd.

Potřeboval bych vypsat seznam (tak jako u fce Optrubriky) všech podrubrik vybrané rubriky základní úrovně např. SPORT:

a potřeboval bych, aby to vybralo jen vše od rubriky sport (nikoliv třeba rubriky z kultury)
<option value="nějaké číslo">SPORT - Fotbal</option>
<option value="nějaké číslo">SPORT - Fotbal - 1. liga</option>
<option value="nějaké číslo">SPORT - Fotbal - 1. liga - Zápasy</option>
<option value="nějaké číslo">SPORT - Hokej</option>
<option value="nějaké číslo">SPORT - Hokej - Extraliga</option>
<option value="nějaké číslo">SPORT - Hokej - Extraliga - Zápasy</option>
atd.

Fce OptRubriky je dělaná na vybrat všechny rubriky. Já bych potřeboval tohle, ale neumím to formulovat:

select idt,nazev,id_predka from ".$GLOBALS["rspredpona"]."topic where kde id rubriky základní úrovně je 5 order by level,hodnost desc,nazev...

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2012-09-26, 16:16

Obmedzíš to jednoducho podľa id_predka, dostaneš zoznam všetkých priamych potomkov.
SELECT idt, nazev, id_predka 
FROM rs_topic 
WHERE id_predka = vybrana_rubrika

Re: Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2012-09-26, 16:23

To samozřejmě vím, ale problém je v tom, že třeba fotbal má id předka 5, ale 1. liga je už podrubrikou fotbalu a tzn. že má předka už fotbal, čili nikoliv 5, a to stejné platí dál a dál, když bych se vnořoval do dalších podpod rubrik.

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce



Celkem upraveno 1×. Poslední úprava ZdenekPNJ v 26.09.2012 16:24.

Re: Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2012-09-26, 16:58

Aha, takže chceš zoznam všetkých potomkov všetkých úrovní. To s touto štruktúrou tabuľky spravíš jedine opakovaným dotazom v rekurzii. Mrkni sem [http://www.kvalitne.sk/sample/topictree-zdrojak.html]

Re: Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2012-09-26, 17:04

Aha, tak tohle je pro mě špaňělská vesnice:-) Hlavně to, jak bych to pak předělal tak, aby fungovalo pro

<option>něco</option>

LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: ZdenekPNJ (IP adresa zaznamenána)
Datum: 2012-09-26, 18:53

Zkusil jsem tohle což by snad šlo, ale potřeboval bych to ještě doladit.
kód:

function getTree($parent,$maxlevel) {
$result = mysql_query("select idt,nazev,level from ".$GLOBALS["rspredpona"]."topic WHERE id_predka= ".$parent." and level<".$maxlevel." order by nazev",$GLOBALS["dbspojeni"]);
while ($row = mysql_fetch_assoc($result)) {
echo "<option value=\"".$row['idt']."\">".str_repeat("- ",$row['level']).$row['nazev']."</option>";
getTree($row['idt'],$maxlevel);
}
}


echo "<select>";
getTree(5,99);
echo "</select>";

5 je číslo hlavní rubriky
99 maxlevel

Výsledek to hodí podobný tomuhle, ale potřeboval bych, aby se mi namísto pomlčky či pomlček vypsaly i rubriky předků:

Rubrika1
- PodRubrika1a
-- Podrubrika 1aa

A ještě se chci zeptat, je třeba to kešovat?


LinkedIn - Zdeněk Pikulík

Regiony ČR.cz - 1. responzivní zpravodajství z regionů ČR
Medializujeme ČESKO.cz - Revoluční program podpory a modernizace obcí ČR
Obce2020.cz - Moderní řešení profesionálního webu pro obce

Re: Výpis porubrik a podpod rubrik nadřazeného rodič
Zaslán uživatelem/kou: pa3k (IP adresa zaznamenána)
Datum: 2012-09-26, 20:09

Namiesto vypisovania echom, použi ukladanie do poľa. Potom môžeš tým poľom/stromom ľubovoľne iterovať a cez index dotazovať vlastnosti predkov aké len chceš :-)
[http://blog.ideashower.com/post/15147134343/create-a-parent-child-array-structure-in-one-pass]



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.