Fórum v PHP a MySQL - 2. diel
Fórum v PHP a MySQL - 2. diel
V tejto časti seriálu sa dozviete ako vypísať všetky témy vo fóre a následne aj ako zobraziť tému samostatne pomocou URL resp. pomocou PHP.
V tomto diele sa dočkáte prvých funkcií nášho fóra. Ako prvé čo budeme
vyrábať je pripojenie do databázy. Súbor na pripojenie bude obsahovať
dve funkcie k pripojenie do MySQL. Jedna bude na samotné pripojenie a
druhá na vybratie databázových tabuliek. Rovnako ako v článku
PHP pre začiatočníkov - Databázy, 11.diel.
Súbor nazveme config.php. Musí byť výstižný, pretože sa v ňom
bude nachádzať aj konfigurácia fóra a nie len pripojenie do databázy.
Zatiaľ bude stačiť, ak v súbore budeme mať nasledujúci kód.
<? #config.php
define("SERVER","vas_server"); // väčšinou býva server localhost
define("LOGIN","vas_login"); // na localhoste to býva väčšinou root
define("PASS","vase_heslo"); // vaše heslo do databázy
define("DATABASE","meno_databazy"); // názov databázy
$dbc = mysql_connect(SERVER,LOGIN,PASS) or die("Server má problémy. Skúste to neskôr prosím.!n");
mysql_select_db(DATABASE) or die("Server má problémy. Skúste to neskôr prosím.!n");
$description = "popis stránka";
$keywords = "kľúčové slová";
$title = "Fórum";
?>
Pripojenie do databázy by sme už mali zvládnuté a teraz by sme si mohli
vytvoriť naše funkcie pre základnú štruktúru fóra. Teraz by som sa
priklonil aj k prvému použitiu štýlov. Súbor v zložke layout/styles/style.css
upravíme takto:
body,html { font-family:arial,sans-serif; font-size:1em; }
a:link,a:visited { color:#444444; text-decoration:underline; }
a:hover { color:#ffffff; background:#444444; text-decoration:none; }
a:active { color:#555555; text-decoration:underline; }
.tema { background:#efefef; border:1px solid #cccccc; margin-bottom:0.2em; }
.tema_obsah { background:#ffffff; padding:0.5em;
A nakoniec PHP kód. Vytvoríme si nový súbor functions.php. Bude
obsahovať funkcie na zobrazenie tém a na zobrazenie konkrétnej témy.
Obsah súboru functions.php bude nasledovný:
<? #functions.php
// funkcia pre zobrazenie témy
function zobraz_temu($id){
$sql = mysql_query("SELECT * FROM temy WHERE id_temy='$id' LIMIT 1");
while($stlpec = mysql_fetch_object($sql)){
$id_temy = $stlpec->id_temy;
$nadpis = $stlpec->nadpis;
$obsah = $stlpec->obsah;
$autor = $stlpec->autor;
$email = $stlpec->email;
$datum = $stlpec->datum;
$ip = $stlpec->ip;
echo "<h2><a href="/" title="Vrátiť sa na obsah fóra">Fórum</a> -> $nadpis</h2>n";
echo "<div class="tema">n";
echo "<strong><a href="?id=$id_temy" title="">$nadpis</a></strong><br />n";
echo "<small>[ Dátum:$datum | Autor:$autor | Email:$email | IP:$ip ]</small><br />n";
echo "<div class="tema_obsah">$obsahn";
echo "</div></div>n";
}
mysql_free_result($sql);
}
// funkcia na výpis tém
function zobraz_temy(){
echo "<h2>Fórum</h2>n";
$sql = mysql_query("SELECT * FROM temy ORDER BY uprava DESC");
while($stlpec = mysql_fetch_object($sql)){
$id_temy = $stlpec->id_temy;
$nadpis = $stlpec->nadpis;
$datum = $stlpec->datum;
echo "<div class="tema">n";
echo "<strong><a href="?id=$id_temy" title="">$nadpis</a></strong><br />n";
echo "<small>[ Dátum:$datum ]</small>n";
echo "</div>n";
}
mysql_free_result($sql);
}
?>
Tieto dve funkcie budú fungovať tak ako sú popísané v kóde. Budeme ich
volať zo súboru index.php. Ešte predtým chcem upozorniť, že
súbor index.php by mal byť takým základom pre štruktúru
PHP súboru v našej webovej aplikácií. Toto je obsah súboru:
<? #index.php
require_once("config.php");
require_once("functions.php");
include_once("layout/top.php");
if(isset($_GET[id])){
if($_GET[id] == $id){
zobraz_temu($id);
}
} else {
zobraz_temy();
}
include_once("layout/bottom.php");
mysql_close();
?>
Tak a tu sa funkcie budú volať. Zatiaľ to bude pre tento diel všetko.
Nabudúce si tieto funkcie trochu poupravíme aby sme mohli témy a možno
aj príspevky zasielať resp. vytvárať.
Autor: PaBi3 ·
Kategória: Programovanie ·
Dátum: 12.07.2005 16:37


![Hlasová verzia [Pre internetový prehliadač Opera] Voice](modules/items/voice.png)
Komentáre