Výpis článků dle kategorie – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výpis článků dle kategorie – PHP – Fórum – Programujte.comVýpis článků dle kategorie – PHP – Fórum – Programujte.com

 

jAkErCZ0
Stálý člen
8. 10. 2019   #1
-
0
-

Zdravím,
rád bych si udělal tabs a po kliknutí na danou kategorii by to vypsalo všechny články v dané kategorii.

Mám udělané 

Presenter:

	$categorys = $this->articleManager->getCategories();
        // přístup ke komponentě VisualPaginatoru:
        $visualPaginator = $this['visualPaginator'];
        // přístup k samotnému paginatoru:
        $paginator = $visualPaginator->getPaginator();
        // počet položek na stránku
        $paginator->itemsPerPage = 4;
        // spočítat celkový počet položek
        $paginator->itemCount = $articles->count('*');
        /* Předání do šablony */
        $this->template->articles = $articles;
        $this->template->categorys = $categorys;

a šablona

        -->
        <ul class="nav nav-tabs nav-tabs-fill" role="tablist">
            <li n:foreach="$categorys as $category" class="nav-item">
                <a class="nav-link" href="#tabs-{$category['category_id']}" role="tab" data-toggle="tab">{$category['title']}</a>
            </li>
        </ul>
        <div class="tab-content">
            <div n:foreach="$categorys as $category" role="tabpanel" class="tab-pane fade show" id="tabs-{$category['category_id']}">
                <div class="nk-gap"></div>
                <!-- START: Action Tab -->
                <div class="nk-blog-post nk-blog-post-border-bottom">
                    <div class="row vertical-gap">
                        <div class="col-lg-3 col-md-5">
                            <a href="blog-article.html" class="nk-post-img">
                                <img src="{$basePath}/images/post-9-mid-square.jpg" alt="He made his passenger captain of one">
                                <span class="nk-post-categories">
                                    <span class="bg-main-1">Action</span>
                                </span>
                            </a>
                        </div>
                        <div class="col-lg-9 col-md-7">
                            <h2 class="nk-post-title h4"><a href="blog-article.html">He made his passenger captain of one</a></h2>
                            <div class="nk-post-date mt-10 mb-10">
                                <span class="fa fa-calendar"></span> Jul 3, 2018
                                <span class="fa fa-comments"></span> <a href="#">0 comments</a>
                            </div>
                            <div class="nk-post-text">
                                <p>Just then her head struck against the roof of the hall: in fact she was now more than nine feet high, and she at once took up the little golden key and hurried off to the garden door...</p>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- END: Action Tab -->
                <div class="nk-gap"></div>
            </div>
    </div>
    <!-- END: Tabbed News -->

Tohle má za následek že mi to přidá tabs s danými kategoriemi ale jak co nejefektivněji po vybrání mi to vykreslilo dané články?

Díky za rady a k nakopnutí.

Nahlásit jako SPAM
IP: 109.183.230.–
peter
~ Anonymní uživatel
4014 příspěvků
10. 10. 2019   #2
-
0
-

Sql dotaz pro vyber z tabulek

clanky_kategorie - idclanek, idkategorie
kategorie - idkategorie, nazev (kategorie)
clanky - idclanek, nazev (clanku), dalsi sloupce…

ktery vytvori tabulku podle kategorie zacinajici znaky krim (jako krimi)

nadpis | kategorie
... | …
... | …

SELECT c.nazev AS nadpis, b.nazev AS kategorie
FROM clanky_kategorie a
  LEFT JOIN kategorie b ON b.idkategorie=a.idkategorie
  LEFT JOIN clanky c ON c.idclanek=a.idclanek
WHERE
  b.nazev LIKE 'krim%'

To, co posilas, nedava smysl. Cast jakehosi kodu z neznameho programu. Preji hodne stesti.

Nahlásit jako SPAM
IP: 2001:718:2601:258:510a:f600:2adb:e48...–
peter
~ Anonymní uživatel
4014 příspěvků
10. 10. 2019   #3
-
0
-

Fungovalo by to prinzipialne takhle 

$sql    = sqlNovePripojeni($server, $jmeno, $heslo, $databaze);
$result = $sql->dotaz("text dotazu, co jsem napsal");
if ($result) {
echo '<table>';
while($row=$sql->fetch($result)) {
echo sprint('<tr><td>%s</td><td>%s</td></tr>', $row['nadpis'], $row['kategorie']);
echo '</table>';
}}
else echo 'Chyba sql dotazu';

Coz je znacne odlisne od kodu, ktery prezetujes ty a tahle cast bude asi nekde zapsana a rozhoduje o vysledku.

Nahlásit jako SPAM
IP: 2001:718:2601:258:70b5:2ca3:14c6:f919...–
peter
~ Anonymní uživatel
4014 příspěvků
11. 10. 2019   #4
-
0
-

Jo, jeste by tam melo byt htmlspecialchars, ale to je celkem jasne...
 

echo sprint('<tr><td>%s</td><td>%s</td></tr>', htmlspecialchars($row['nadpis']), htmlspecialchars($row['kategorie']));
Nahlásit jako SPAM
IP: 2001:718:2601:258:4dbc:3838:5a25:f2e0...–
Kit+15
Guru
11. 10. 2019   #5
-
0
-

#4 peter
V daném případě bbych to napsal takhle, aby se nemusely lámat řádky a bylo to přehlednější.

$nadpis = htmlspecialchars($row['nadpis']);
$kategorie = htmlspecialchars($row['kategorie']);
echo "<tr><td>$nadpis</td><td>$kategorie</td></tr>";
Nahlásit jako SPAM
IP: 193.179.248.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 48 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý