Jednoduchý návod na vlastní prezentaci v PHP s použitím CSS a MySql databáze.
Jako prozatím poslední modul nás čeká modul kerý nám dle naší volby zobrazí jen omezený počet novinek nebo veškeré novinky v databázi.modules/novinky/index.inc
<?php
global $all;
include("config.php");
$dbnews = mysql_query("Select * FROM novinky ORDER BY id DESC") or die ("Nelze se nacist data pro novinky." . mysql_error());
$dbnewspocet = mysql_num_rows($dbnews);
$limit = 5;
$zobraz = $dbnewspocet-$limit;
if ($aktnews=="") {$aktnews = $dbnewspocet;}
if ($all!="1") {
echo "
<input value='Zobrazit všechny novinky' onclick=\"document.location.href='?page=novinky&all=1';\" type=button style='width: 200'>
"; }
while ($news = mysql_fetch_array($dbnews))
{
if ($all!="1") {
if ($aktnews>$zobraz) {
echo "
<hr>
<table cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2'><font color='#FF0000'><b>".$news["datum"]." - ".$news["nazev"]."</b></font></td>
</tr>
<tr>
<td width='50'></td>
<td>".$news["text"]."</td>
</tr>
</table>
<br>
";
$aktnews = $aktnews-1;
}
} else {
echo "
<hr>
<table cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2'><font color='#FF0000'><b>".$news["datum"]." - ".$news["nazev"]."</b></font></td>
</tr>
<tr>
<td width='50'></td>
<td>".$news["text"]."</td>
</tr>
</table>
<br>
";
$aktnews = $aktnews-1;
}
}
?>
Toto už je o něco málo delší script.
Jako první si pres global vztáhneme proměnnou all.
Dále si vložíme soubor config.php aby jsme mohli pracovat s databází.
Dále si pomoci funkce mysql_query uložíme do proměnné dbnews veškeré data z tabulky novinky seřazené dle hodnoty id . Do proměnné dbnewspocet si uložíme počet řádků s daty které jsme obdrželi z databáze. K tomu nám pomůže funkce mysql_num_rows.
Tento příkaz je použitelný pouze pro dotaz typu SELECT. Potřebujete-li získat počet záznamů ovlivněných dotazy INSERT, UPDATE nebo DELETE, použijte mysql_affected_rows().
Nastavíme si proměnnou limit kterou dále použijeme k omezení zobrazení novinek a proměnnou zobraz která bude mít hodnotu počet řádku vrácených z databáze mínus hodnotu limitu. V tomto případě je znak mínus operátorem.
Operátory zde plní prakticky stejné funkce jako v matematice. Sčítání, odčítání, rovnost, větší, menší....
operátor + - * / % = == < > <= >= != <> && || and or xor ! += -= *= /= %= &= |= ++ -- | význam sčítání odečítání násobení dělení zbytek po dělení přiřazení rovnost menší než větší než menší nebo rovno větší nebo rovno nerovnost nerovnost logické a (AND) logické nebo (OR) logické a (AND) logické nebo (OR) exkluzivní nebo (XOR) negace $a = $a + $b $a = $a - $b $a = $a * $b $a = $a / $b $a = $a % $b $a = $a & $b $a = $a | $b $a = $a + 1 (inkrementace) $a = $a - 1 (dekrementace) | příklad $a + $b $a - $b $a * $b $a / $b $a % $b $a = "Martin" $a == $b $a < $b $a > $b $a <= $b $a >= $b $a != $b $a <> $b $a && $b $a || $b $a and $b $a or $b $a xor $b !$a $a += $b $a -= $b $a *= $b $a /= $b $a %= $b $a &= $b $a |= $b $a++ $a-- |
Jako další je podmínka která nastaví hodnotu proměnné aktnews pokud je prázdná na počet řádku vrácených z databáze.
Druhá podmínka kontroluje proměnnou all. Pokud se nerovná 1 vypíše se tlačítko pro zobrazení všech novinek v databázi a vypíšou se jen aktuální novinky. V opačném případě se vypíšou novinky všechny.
Následuje nám už známý cyklus while ve kterém se kontroluje podmínka if ($all!=1) zda se má vypsat omezený počet novinek
Tak a tím máme postavenou základní strukturu webu s nějakým tím vzhledem a přidáno pár modulů.
Naše prezentace je funkční, a my si v dalších dílech popíšeme, jak omezit přístup nežádaným osobám a dopíšeme si pro naše pohodní administrační rozhraní.
K nahlédnutí na http://ukazky.owebu.cz/diviweb
Soubory k tomuto dílu. DOWNLOAD
Autor: Václav Dressler