Kniha návštěv s pomocí MySQL - 2.díl - Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



PHP

Kniha návštěv s pomocí MySQL - 2.díl

php

13. listopadu 2001, 00.00 | Chcete se naučit programovat v PHP a všechny příklady vám připadají složité? Sledujte náš miniseriál jednoduché aplikace. V dnešním článku si ukážeme jak vypsat data z databáze v omezeném počtu na stránce a jednoduchou anketu, kterou lze z knihy udělat.

Když jsem napsal několik prvních článků o programování v PHP pro začátečníky, začaly mi chodit e-maily, kde jsem byl žádán, abych napsal další články. Bohužel jsem neměl čas, ale teď se těšte na další podobné články.

Výpis údajů z databáze

K čemu by nám byl zápis do DB a hezký formulář, když bychom neuměli z DB záznamy vypsat. K tomu slouží následující skript.

Abychom omezili počet výpisů na jednu stránku (to by se potom stránka dlouho načítala, kdyby se najednou vypsalo třeba 100 záznamů) vkládáme do SQL příkazu "podmínku" LIMIT $id, $max, která říká, že zápis bude omezen na 10 (hodnota proměnné $max) záznamu, které mají vyšší id než je hodnota proměnné $id. Na konci skriptu je vidět několik řádků, které zobrazují odkazy další a zpět a zároveň zvyšují hodnotu proměnné $id o 10.

Při prvním načtení stránky je pomocí řádku: if(!IsSet($id)) $id=0; proměnné $id přiřazena 0.

<?
do {
if ($QUERY_STRING=="zapis"):
// maximální počet zobrazených záznamů najednou
$max=10;      

@$spojeni = mysql_connect("localhost"); //pokus o spojení 
if (!$spojeni): 
   echo "Nepodařilo se připojit k MySQL.<BR>\n"; 
   break; 
endif; 

MySQL_Select_DB("kniha"); // výběr databáze 

//pokud není id již nastaveno, potom id=0
if(!IsSet($id)) $id=0;

//počet záznamů v DB
@$zjisteni=MySQL_Query("SELECT count(id) FROM kniha");
$poradi=MySQL_Result($zjisteni,0);


//SQL příkaz, který vybere požadovaný počet záznamů z DB

@$vysledek = MySQL_Query("SELECT * FROM kniha 
                          order by id desc LIMIT $id,$max");


if (!$vysledek):
    echo "Došlo k chybě při zpracování dotazu v databázi.<BR>\n";
    break;
endif;


while ($zaznam = MySQL_Fetch_Array($vysledek)){
             $email=$zaznam["email"];
             $cislo=$zaznam["id"];

  ?>
  <table cellpadding="0" cellspacing="0" width="510" border="0">
    <tr>

<td bgColor="#81a4c7">[<b><?echo "$cislo"?></b>]
<b><? echo $zaznam["autor"] ?></b> 
[<a href=mailto:<? echo "$email>$email"?></a>]
</td>
 <td bgColor="#81a4c7" width="100"
align="right"><small><? echo $zaznam["datum"] ?></small></td>
</tr>
</table>

<table cellSpacing=0 cellPadding=3 width=510 border=0>
<tr>

<td><b>Web:</b>
<a href=http://<?echo $zaznam["web"].">".$zaznam["web"]?></a></td>

<td bgColor=#81a4c7 width=175 align=right><b>Honocení:
 </b><? echo $zaznam["hodnoceni"] ?></td>
</tr>
</table>

<table cellSpacing=0 cellPadding=3 width=510 border=0>
<tr>
 <td bgColor=#b3c5d9><? echo $zaznam["text"] ?></td>
</tr>
</table>

<p><br/></p>

<?
} while (false);

if ($id+1>10) echo "<A
HREF=\"./index.php?vypis&id=".($id-10)."\">Zpět</a>
\n";

if (($id+10)<$poradi) echo "<A
HREF=\"./kniha.phpindex.php?vypis&id=".($id+10)."\">Další</a>
\n";

endif;
} while (false); 
?>

Děláme si anketu z naší knihy

Přišli tři dotazy, kde jsem byl tázán, jak lze získat údaje o hodnocení webu. Protože tázající chtěli problém vysvětlit co nejjednodušeji (a jak jsem z dopisů poznal, tyto články čte hodně začátečníků), použiji ten nejjednodušší způsob, jaký mě napadl.

Protože návštěvník, který použije naší knihu je donucen ohodnotit naše stránky, můžeme toho zneužít a vytvořit si anketu z nasbíraných dat, spíše si udělat analýzu, jak se návštěvníkům stránky líbí.

Nepůjde o nic jiného, než že spočítáme počet zápísu, které obsahují konkrétní hodnoty.

$data=MySQL_Query("SELECT count(id) 
                   FROM kniha where hodnoceni='Výborný'");
$vyborny=MySQL_Result($data,0);

$data=MySQL_Query("SELECT count(id)
                   FROM kniha where hodnoceni='Pěkný' ");
$pekny=MySQL_Result($data,0); 

$data=MySQL_Query("SELECT count(id) 
                   FROM kniha where hodnoceni='Dobrý'");
$dobry=MySQL_Result($data,0); 

$data=MySQL_Query("SELECT count(id) 
                   FROM kniha where hodnoceni='Dostatečný'");
$dostatecny=MySQL_Result($data,0); 

$data=MySQL_Query("SELECT count(id) 
                   FROM kniha where hodnoceni='Hrozný'");
$hrozny=MySQL_Result($data,0); 

echo "Hodnocení webu:"; 
echo "Vyborny: $vyborny"; 
echo "Pěkný: $pekny"; 
echo "Dobrý: $dobry"; 
echo "Dostatečný: $dostatecny"; 
echo "Hrozný: $hrozny"; 

No a kniha návštěv se nám proměnila v nástroj pro zjištění mínění o webu :-). Věřím, že budete mít ke článku připomínky, na které se těším.

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » PHP  

 » Rubriky  » Web  

 

 

 

Nejčtenější články
Nejlépe hodnocené články

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: