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ť.
Alternatívne verzie: Text PDF Voice
Autor: PaBi3 · Kategória: Programovanie · Dátum: 12.07.2005 16:37

Komentáre

#1 phm46 Web E-mail
15.08.2011 16:11
Chýba bottom.php

Osobné údaje
Captcha
Odpíšte text z obrázku. Rozlišujú sa malé a veľké písmená.
Obsah
Možnosti