Autor Zpráva
Kopi
Profil
Dobrý večer,
mám několik otázek k PHP a MySQL.

1.Je možné používat HTML značky přímo ručně zadané do DB? Ano,ne a proč?
2.Mám v databázi tabulku články a v ní jsou položky nadpis, článek obsah vypisuji do indexu webu,
písmo je ale stejně velké takže ja problém rozeznat co je nadpis a co clanek. Jak udělat aby se nadpis
zobrazoval třeba v <h2>nadpis<h2/>?
3.Pokud budu mít v aministraci webu nějaký textový editor s kolonkou nadpis, kam se uloží že se má nadpis zobrazit např. jako <h2>?
panther
Profil
Kopi:
1.Je možné používat HTML značky přímo ručně zadané do DB? Ano,ne a proč?
zkus si uložit do DB HTML tag a vypsat. Uvidíš.

2.Mám v databázi tabulku články a v ní jsou položky nadpis, článek obsah vypisuji do indexu webu,
písmo je ale stejně velké takže ja problém rozeznat co je nadpis a co clanek. Jak udělat aby se nadpis
zobrazoval třeba v <h2>nadpis<h2/>?
Ano, jde.
<h2><?php echo $data['nadpis'] ?></h2>
<?php echo $data['obsah'] ?>


3.Pokud budu mít v aministraci webu nějaký textový editor s kolonkou nadpis, kam se uloží že se má nadpis zobrazit např. jako <h2>?
tohle jsem moc nepochopil.
WYSIWYG si doplní přímo dvojkový nadpis, který pak uloží do DB. Můžeš pro nadpis udělat třeba textový input, jehož obsah budeš ukládat zvlášť do DB a vypisovat jako jsem napsal výše.
Kopi
Profil
panther:
Díky za pomoc, kód pro výpis článků mám tento:

<?php
include "connect.php"; //vloz soubor ve kterem jsou parametry pro pripojeni k databazi

mysql_select_db ("db");
$vypis = mysql_query("select * from clanky");
while ($polozka = mysql_fetch_array($vypis))
echo $polozka ["nazev"]."<br> ".$polozka["clanek"]."<br>\n";
?>

snažím se do toho napasovat nějak ten nadpis a stále mi to nejde.
Kopi
Profil
Když dám celý skript do tagu <h2>skrip PHP<h2/>, tak mám logicky nadpis i text stejně velké. Oddělil jsem nadpis od textu, a nadpis dal do <h2>skrip PHP<h2/>, už to jde, ale nejdřív jsou vypsány všechny nadpisy a potom všechny texty. Samozřejmě chci aby se texty a nadpisy střídaly, jak to udělat?
(pro někoho to je směšná otázka, ale já vážně nevím)
Kopi
Profil
Na tvorbawebu.cz jsem našel způsob vkládání HTML do PHP:

Vkládání HTML do PHP

Pokud potřebujeme vložit naopak HTML do PHP (např. v případě generovaného HTML výstupu), můžeme použít příkaz echo.

<?php echo "<h1>nadpis</h1>"; ?>



Ale nefunguje mi to, prosím o pomoc.
Kopi
Profil
Už mi to funguje vypisuji pomocí tohoto kódu:

<?php
//připojení k DB

include "connect.php";

//dotaz

$news = mysql_query("SELECT * FROM clanky ORDER BY id DESC");

//výpis
while($row = mysql_fetch_assoc($news))
{

$nadpis = $row['nadpis'];
$autor = $row['autor'];
$text = $row['text'];


echo "<h2>".$nadpis."</h2>"
.$autor."<br>";

echo nl2br($text);

}
?>



Mám ale opět dva problémy, vždy poslední nadpis se mi nevypíše v h2 tagu, jak to vyřešit?
Další věc je že jsem ručně odstranil jeden článek z db a od té doby je jeho id 4 vynecháváno z číslování dalších článků. Může někdo poradit?
Kopi
Profil
Pořád řeším jeden a ten samý problém , jak formátovat text vypsaný z db, tohle je základní věc a v žádné knize jsem to nenašel (z těch co mám doma).
Chápu že to jde udělat takto: <h2><?php ?><h2/> , co ale když mám několik proměnných které vypisuji na web a nechci ať jsou všechny nadpis druhé úrovně? _To je vážně v PHP takový problém?
Fedd
Profil *
Myslím že hledáš tady tohle:
<?php
// This won't work because of the quotes around specialH5!
echo "<h5 class="specialH5">I love using PHP!</h5>";

// OK because we escaped the quotes!
echo "<h5 class=\"specialH5\">I love using PHP!</h5>";

// OK because we used an apostrophe '
echo "<h5 class='specialH5'>I love using PHP!</h5>";
?>

Při výpisu z PHP pomocí echo můžeš text formátovat dle libosti např. pomocí CSS nebo HTML .. jen si musíš dát pozor na uvozovky "..." Samotné echo se zapisuje mezi uvozovky a další uvozovky mezi nimi způsobí problém. Proto je musíš musíš pro PHP zapsat buď \"...\" nebo '...' jak to vidíš na tom příkladu. První text by hodil chybu. Další dva by prošli správně naformátované.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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