Mikuláš je tu! Získaj 90 % extra kreditov ZADARMO s promo kódom CERTIK90 pri nákupe od 1 199 kreditov. Len do nedele 7. 12. 2025! Zisti viac:
NOVINKA: Najžiadanejšie rekvalifikačné kurzy teraz s 50% zľavou + kurz AI ZADARMO. Nečakaj, táto ponuka dlho nevydrží! Zisti viac:

Diskusia – 7. diel - Ners - Výpis článkov v PHP

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Posledné komentáre sú na spodnej časti poslednej stránky.
Avatar
Libor Šimo (libcosenior):30.3.2014 9:12

Perfektný seriál. :-)

Odpovedať
Aj tisícmíľová cesta musí začať jednoduchým krokom.
Avatar
charliho
Člen
Avatar
charliho:2.6.2014 15:55

Zdravím, potřeboval bych pomoci. K článkům jsem si přidal sloupec user_id a při vytvoření článku se mi tam zapíše ID přihlášeného uživatele. Jen se mi nedaří zprovoznit výpis článků(v adminstraci), podle toho jaký uživatel je přihlášen. Měl by někdo nějakou radu, jakým SQL dotazem by to šlo vyřešit?
Zkoušel jsem INNER JOIN, ale reaguje to pouze na ID 0 (nevypíše) a ID > 0 (vypíše).

Díky za případnou radu :)

PS:. Krásně psané tutorialy :) Díky moc :)

Avatar
Lien
Člen
Avatar
Odpovedá na charliho
Lien:14.7.2014 0:56

Úplně nerozmím tomu, co chceš, ale pokud se mají vypsat články podle toho, kdo je aktuálně přihlášený, tak by Ti mělo stačit
<b>SELECT * FROM clanky WHERE user_id = </b>id přihlášeného uživatele , ne?

Editované
Avatar
charliho
Člen
Avatar
charliho:14.7.2014 12:44

Zdravím, už jsem tento problém vyřešil, zapomněl jsem napsat. Díky za reakci :)

Avatar
Neaktivní uživatel:6.8.2014 12:19

Neviem čím to je ale mám obrovský problém s premennou $clanek. Vkuse mi vypisuje že je nedefinovaná. Kód som už prešiel dobrých 10 krát a chybu nájsť neviem. Viem len, že je v časti, kde sa článkok ukladá do databázy: prikladám kód, stĺpce v databáze mám pomenované inak ale to vadiť nemôže...archive je názov tabuľky. Ak by niekto vedel, v čom je chyba nech sa ozve:

<?php

require('db.php');
Db::connect('127.0.0.1', 'ners', 'root', '');

if (isset($_GET['clanok']))
    $url = $_GET['clanok'];
else
    $url = 'uvod';

$clanek = Db::queryOne('
        SELECT *
        FROM archive
        WHERE article_url=?
', $url);
if (!$clanok)
{
    if ($url != 'chyba')
    {
        header('Location: index.php?clanok=chyba');
        exit();
    }
    else
        die('Nebyl nalezen chybovy clanek');
}

?>

<!DOCTYPE html>
<html lang="sk-sk">

<head>
    <meta charset="utf-8" />
    <meta name="description" content="<?= htmlspecialchars($clanok['article_about']) ?>" />
    <meta name="keywords" content="<?= htmlspecialchars($clanok['article_tag']) ?>" />
    <link rel="shortcut icon" href="obrazky/ikona.ico" />
    <link rel="stylesheet" href="style.css" type="text/css" />
    <title><?= htmlspecialchars($clanok['article_title']) ?></title>
</head>

<body>
<header>
    <div id="logo"><h1>HoBi</h1></div>
    <nav>
        <ul>
            <li><a href="index.php?clanok=uvod">Domů</a></li>
            <li><a href="clanky.php">Články</a></li>
            <li><a href="index.php?clanok=kontakt">Kontakt</a></li>
        </ul>
    </nav>
</header>

<article>
    <div id="centrovac">
        <header>
            <h1><?= htmlspecialchars($clanok['article_title']) ?></h1>
        </header>

        <section>
            <?= $clanok['article_content'] ?>
        </section>
        <div class="cistic"></div>
    </div>
</article>

<footer>
    Vytvořil &copy;HoBi 2013 pro <a href="http://devbook.cz">DEVBOOK.CZ</a>
    <a href="administracia.php">Administrace</a>
</footer>
</body>
</html>
Odpovedať
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Michal Žůrek - misaz:6.8.2014 12:39

a funguje databáze? Vloží se tam ten článek?

Avatar
Odpovedať
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Michal Žůrek - misaz:6.8.2014 12:54

Databáze je zapnutá, existují tabulky, nemáš někde překlep? nastav si v DB::Connect aby zobrazilo chyby.

Avatar
Odpovedá na Neaktivní uživatel
Martin Konečný (pavelco1998):6.8.2014 13:03

Jednou tam máš $clanek a jednou $clanok.
Doporučuji psát v jednom jazyce.

Odpovedať
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovedá na Martin Konečný (pavelco1998)
Neaktivní uživatel:6.8.2014 13:25

To som opravil...nakoniec som prišiel na to, že som sem dal zlý zdroják. V tomto bude nejaký bug... :D

<?php

    session_start();
    if(empty($_SESSION['admin'])) {
        die("Nemate opravnenie na pridavanie a upravu clankov!");
    }

    require('db.php');
    db::connect('127.0.0.1', 'ners', 'root', '');

    $clanok = array(
        'article_id' => '',
        'article_title' => '',
        'article_content' => '',
        'article_url' => '',
        'article_about' => '',
        'article_tag' => '',
    );

    if($_POST) {
        if(!$_POST['article_id']) {
            db::query('
                INSERT INTO archive (article_title, article_content, article_url, article_about, article_tag)
                VALUES (?, ?, ?, ?, ?)
            ', $_POST['article_title'], $_POST['article_content'], $_POST['article_url'], $_POST['article_about'], $_POST['article_tag']);
        }
        else {
            db::query('
                UPDATE archive
                SET article_title=?, article_content=?, article_url=?, article_about=?, article_tag=?
                WHERE article_id=?
            ', $_POST['article_title'], $_POST['article_content'], $_POST['article_url'], $_POST['article_about'], $_POST['article_tag'], $_POST['article_id']);
        }
        header('Location: index.php?clanok=' . $_POST['article_url']);
        exit();
    }
    elseif(isset($_GET['article_url'])) {
        $loaded = db::queryOne('
            SELECT * FROM archive WHERE url=?
        ', $_GET['article_url']);
        if($loaded) {
            $clanok = $loaded;
        }
        else {
            $sprava = "Clanok nenajdeny!";
        }
    }

?>

<!DOCTYPE html>
<html lang="sk-sk">
<head>
        <meta charset="utf-8">
        <link rel="stylesheet" href="style.css" type="text/css">
        <title>Editor clankov</title>
</head>

<body>
        <article>
                <div id="centrovac">
                        <header>
                                <h1>Editor clankov</h1>
                        </header>
                        <section>
                                <?php
                                if (isset($sprava))
                                        echo('<p>' . $sprava . '</p>');
                                ?>

                                <form method="post">
                                        <input type="hidden" name="clanky_id" value="<?= htmlspecialchars($clanok['article_id']) ?>"><br>
                                        Titulek<br>
                                        <input type="text" name="titulek" value="<?= htmlspecialchars($clanok['article_title']) ?>"><br>
                                        URL<br>
                                        <input type="text" name="url" value="<?= htmlspecialchars($clanok['article_url']) ?>"><br>
                                        Popisek<br>
                                        <input type="text" name="popisek" value="<?= htmlspecialchars($clanok['article_about']) ?>"><br>
                                        Klíčová slova<br>
                                        <input type="text" name="tags" value="<?= htmlspecialchars($clanok['article_tag']) ?>"><br>
                                        <textarea name="obsah"><?= htmlspecialchars($clanok['article_content']) ?></textarea>
                                        <input type="submit" value="Odoslat  >">
                                </form>
                        </section>
                        <div class="cistic"></div>
                </div>
        </article>
        <script type="text/javascript" src="//tinymce.cachefly.net/4.0/tinymce.min.js"></script>
        <script type="text/javascript">
                tinymce.init({
                        selector: "textarea[name=obsah]",
                        plugins: [
                                "advlist autolink lists link image charmap print preview anchor",
                                "searchreplace visualblocks code fullscreen",
                                "insertdatetime media table contextmenu paste"
                        ],
                        toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image",
                        entities: "160,nbsp",
                        entity_encoding: "named",
                        entity_encoding: "raw"
                });
        </script>
</body>
</html>
Editované
Odpovedať
Neaktivní uživatelský účet
Posledné komentáre sú na spodnej časti poslednej stránky.
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 125.