| 
				                                           Porada ta jest rozwinięciem: Includowanie - pliki 
 
Przedstawię tu, w jaki sposób mając tylko 1 [słownie: jeden] plik – 'index.php' – można wczytywać nieskończenie wiele różnych stron. Wszystko dzięki odpowiednim wykorzystaniu bazy danych MySQL (równie dobrze może to być każda inna). Stwórzmy więc najpierw odpowiednią bazę danych: 
 
Przydatną może się okazać porada: MySQL z wiersza poleceń 
 
 
{codecitation}create database moja;    # utwórz bazę danych 
use moja;             # przejdź do tej bazy danych 
create table strony ( 
    id_strony int(5) primary key auto_increment, 
    menu char(30) not null,     
    tresc text                
); 
insert into strony values (null, 'home', 'to jest strona główna'); 
insert into strony values (null, 'o mnie', 'to jestem ja'); 
insert into strony values (null, 'kontakt', 'moje GG: 00000');{/codecitation} 
  
Jeśli udało cię się już stworzyć bazę danych i odpowiednią tabelę, zapraszam dalej. Teraz stworzymy stronę index.php: 
  
{codecitation class='brush: html'}<html> 
<head> 
  <meta http-equiv="Content-type" content="application/xhtml+xml; charset=utf-8" /> 
  <title>Includowanie z bazy danych</title> 
</head> 
<body> 
<!-- Tu stały top, banner, logo itp. --> 
  
 <?PHP /*Tu będzie kod php */ ?> 
  
<p>Tu stała stopka</p> 
</body> 
</html>{/codecitation} 
 
Menu będzie wyglądać tak: 
 
{codecitation class='brush: html'}<ul> 
  <li><a href="index.php?id_strony=1">home</a></li> 
  <li><a href="index.php?id_strony=2">o mnie</a></li> 
  <li><a href="index.php?id_strony=3">konakt</a></li> 
</ul>{/codecitation} 
 
Gdzie id_strony jest numerem rekordu w bazie danych, który przechowuje treść dla tej podstrony. Oczywiście aby to miało sens, także menu powinno być generowane automatycznie: 
 
{codecitation class='brush: html'}<ul> 
<?PHP 
$conn = mysql_connect('localhost', 'root', 'krasnal'); 
mysql_select_db('moja'); 
  
$query = 'SELECT id_strony, menu FROM strony;'; 
$wynik = mysql_query($query); 
  
while($rekord = mysql_fetch_assoc($wynik)) 
     echo '<li><a href="index.php?id_strony='.$rekord['id_strony'].'">' 
        .$rekord['menu']."</a></li>\n"; 
?> 
</ul>{/codecitation} 
 
A tak będzie wyglądać kod PHP: 
 
{codecitation class='brush: php'}<?PHP 
if (isset($_GET['id_strony'])) 
{ 
     @$id_strony = $_GET['id_strony']; 
} 
else 
{ 
    $id_strony = 1; // jeśli nie wysłano takiej zmiennej - wczytaj index 
} 
  
$query = 'SELECT tresc FROM strony where id_strony='.$id_strony.';'; 
$wynik = mysql_query($query); 
$rekord = mysql_fetch_assoc($wynik); 
echo '<p>'.$rekord['tresc'].'</p>'; 
mysql_close($conn); 
?>{/codecitation} 
 
I to by było na tyle. Oczywiście jest to bardzo prymitywny kod. Jak może zauważyłeś brakuje też panelu administracyjnego, w którym można by dodawać nowe treści. Jednak pokazuje zasadę działania includowania treści z bazy danych. Na podstawie tego można juz całkiem sporo zbudować. Życzę miłego eksperymentowania :P. 
 
 Uwaga: Nie przypadkiem użyłem 'id_strony' zamiast 'id'. Jest to zalecenie google [a każdy w google być chce, więc lepiej się stosować:P ] 
Uwaga2: Kod pisałem dawno temu. Jego styl pokazuje raczej zasadę działania includowania - nie zasady dobrego kodowania :)                           Read more
                                                                              
		 |