Autor Zpráva
noby
Profil
Dobrý den.
Řekněme že přidávám stránky do databáze. Které pak vypíšu v divu pro menu potom na ně odkazuju něco jako
<a href="page.php?id='$id['id']'">'.$id['title'].'</a>
Jenže otázkou zní jak na takové stránce vytvořené v databázi udělat výpis souboru? Děkuji všem
Tori
Profil
noby:
přidávám stránky do databáze.
jak na takové stránce vytvořené v databázi udělat výpis souboru?
V databázi je teda jen název souboru? A co je to za soubory - php nebo html? Buď můžete funkcí file_get_contents načíst soubor (.html) do proměnné, nebo ho includovat (.php).
CZechBoY
Profil
HTML můžeš taky includovat ;)
noby
Profil
Tohle obsahuje tabulka `page` kdy `title` je titulek stránky a zároveň i název `text`je pro text stránky `vytvoreno` je jen pro přehled v administraci kdy stránka byla vytvořena a `id` je id vytvořené stránky. A stránky vkládám do db takže žádnou koncovku nemají jsou vyvolávany podle `id` soubor page.php jsem vytvořil abych měl kam ty vytvořené stránky vložit, tzv. aby obsahovaly kódy pro výpis.
CREATE TABLE `page` (
  `id` int(11) NOT NULL,
  `title` text CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL,
  `text` text CHARACTER SET utf8 COLLATE utf8_czech_ci NOT NULL,
  `vytvoreno` int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Tori
Profil
noby:
Takže se spíš ptáte, jak v DB podle id najít text a zobrazit ho, jestli dobře rozumím?
if (isset($_GET['id']) && !empty($_GET['id']))  {
  $result = mysql_query('SELECT * FROM `page` WHERE `id` = '.intval($_GET['id']));
  if (empty($result) || $result == false) {
    // .. takové ID neexistuje, anebo chyba v sql dotazu
  }
  $clanek = mysql_fetch_assoc($result);
  echo $clanek['text']; // ... atd.
}
else {
  // ID nebylo zadané
}
Mimochodem, opravdu potřebujete 65tis.bajtů pro nadpis článku? Nestačil by typ TINYTEXT (256 B) nebo VARCHAR?
noby
Profil
Tori:
Ne, to jak podle id vypsat text vím, ale chci vypisovat soubory na takto vytvořené stránce. Kdybych udělat další index bez možnosti změn tak do něho bych dokázal vložit výpis nauploadovaných souborů, ale takto když to dělám přes databázi nedokážu. Takže pro pochopení vytvořím stránku třeba FotoBlog a do stránky chci umístit výpis souboru.
Tori
Profil
Aha, děkuju, už snad rozumím.
Vymyslete si nějaký formát, jak ten include zapsat, třeba jako HTML komentář: <!-- @include: "soubor.php" -->
Pak se rozhodněte, kdy budete vkládat do stránky obsah includovaných souborů:
* před uložením stránky do databáze (=v DB bude víc textu, includované části se budou asi opakovat v DB několikrát, a když změníte includ.soubor, tak v databázi zůstane stará verze (i když tohle poslední se dá vyřešit). Na druhou stranu zobrazování bude rychlé, text půjde z DB hned na výstup.)
* do DB uložit stránku s HTML komentáři, nahrazovat až při výpisu. = Include soubor bude vždy aktuální verze, ale trochu se zpomalí zobrazování. Při malém počtu (cca 5) vkládaných souborů by to zpomalení myslím nemělo být poznat.

Ke vkládání těch souborů do stránky: pokud nebudete mít nějaké obrovské soubory, můžete klidně načíst vkládaný soubor pomocí file_get_contents a nahradit str_replace. Jestli chcete trochu šetřit paměť, můžete to zpracovávat v cyklu řetězcovými funkcemi [: najít nejbližší include, zobrazit všechno před ním, vložit+zobrazit soubor, hledat další include :]
noby
Profil
Tori:
Teď zřejmně nerozumím já. Já nic neincluduji, já jen vypisuji záznamy z databáze, a potřebuju aby na takto vypsaném záznamu (z databáze) byl i výpis nauploadovaných souboru.
Tori
Profil
noby:
Máte text (nebo html), který čtete z DB. Někde v tom textu chcete nechat zobrazit něco jiného. Je jedno, jestli tam budete includovat kus html nebo vypisovat seznam souborů - v obou případech potřebujete 1. označit to místo, a 2. na něj vložit jiný text. Takže str_replace by mělo stačit.
Všude píšete "výpis souboru", takže jsem to pochopila jako "zobrazit obsah jednoho souboru". Ohledně toho zobrazení seznamu souborů potřebujete taky radu?
noby
Profil
Tori:
Ohledně výpisu nauploadovaných souboru poradit nepotřebuji. Teď mě tak napadlo záznamy vytvářím v editoru Tinymce. Tak mě napadlo nestačilo by vložit do editoru php kód který by vypisoval nauplodavané soubory?
Tori
Profil
noby:
nestačilo by vložit do editoru php kód
Můžete tam přidat jedině výsledek PHP kódu. Jak byste to udělal - nový plugin? (ptám se ze zvědavosti)
noby
Profil
No editor TinyMCE má tag "Upravit HTML kód" tak že bych tam napsal PHP kód pro výpis nauploadovaných souboru. Ale nevím jestli se tam může vkládat i PHP
Tori
Profil
Napsat tam PHP kód klidně můžete, ale kde myslíte, že se bude provádět? (pokud ho teda nesmaže už výstupní validace xhtml v tinyMCE). Kromě toho to tam nepatří, i kdyby to šlo - mícháte šablonu / výstup a logiku (jestli se seznam souborů čte z filesystemu, DB nebo odjinud). Jestli chcete mít možnost ten seznam souborů upravovat v editoru, tak si dopište plugin do tinyMCE, který vám AJAXem stáhne ze serveru seznam souborů a vloží do editoru (a tipuju, že už existuje nějaký plugin, který stačí jen upravit),.
noby
Profil
Tori:
Tento plugin neznám a vím že bych napsat zřejmě nedokázal. Nicméně šlo by to udělat pomoci chcekbox políček? Že bych do souboru page.php přidal podmínky if které bych po té zaškrtával.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0