NOVINKA: Pracuj až o 60 % rychleji díky akreditovanému kurzu Specialista na AI. Nyní již od 0 Kč. Zjisti více:

Diskuze – Lekce 7 - NERS - Výpis článků v PHP

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Libor Šimo (libcosenior):30.3.2014 9:12

Perfektný seriál. :-)

Odpovědět
30.3.2014 9:12
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 :)

 
Odpovědět
2.6.2014 15:55
Avatar
Lien
Člen
Avatar
Odpovídá 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?

Editováno 14.7.2014 0:59
 
Odpovědět
14.7.2014 0:56
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 :)

 
Odpovědět
14.7.2014 12:44
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>
Odpovědět
6.8.2014 12:19
Neaktivní uživatelský účet
Avatar
Odpovídá na Neaktivní uživatel
Michal Žůrek - misaz:6.8.2014 12:39

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

 
Odpovědět
6.8.2014 12:39
Avatar
Odpovědět
6.8.2014 12:48
Neaktivní uživatelský účet
Avatar
Odpovídá 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.

 
Odpovědět
6.8.2014 12:54
Avatar
Odpovídá 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.

Odpovědět
6.8.2014 13:03
Aktuálně připravuji browser RPG, FB stránka - https://www.facebook.com/AlteiraCZ
Avatar
Odpovídá 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>
Editováno 6.8.2014 13:27
Odpovědět
6.8.2014 13:25
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 10 zpráv z 125.