od tego jest przecież
$tekst = '<b><h3>'.$rekord[1].'</h3></b>'.$rekord[3].'<br/><br/>'.$rekord[4];
ja chcę zrobić jak najprostszy system newsów oparty o sql
Kod
Wymagania
Newsy będą opierały się na bazie MySQL, więc musisz posiadać serwer z dostępem do takowej. Oprócz tego nic specjalnego nam nie będzie potrzebne.
Projekt
Przed zabraniem się do pisania, powinniśmy stworzyć ogólny projekt skryptu, dzięki temu od początku będziemy wiedzieli jak wszystko ma wyglądać. No więc na stronie głównej będą wyświetlane początki trzech ostatnich newsów i link 'czytaj więcej' po którego kliknięciu użytkownik zostanie przeniesiony do pełnej treści newsa. News będzie składał się z tytułu, treści i daty utworzenia.
Zaczynamy!
Baza danych
Zanim zaczniemy pisać kod, stworzymy bazę danych. Jak już wspomniałem będzie to baza MySQL. Otwieramy więc phpmyadmina i tworzymy bazę - nazwijmy ją 'newsy', następnie w tej bazie stwórzmy tabelę z pięcioma polami (w nawiasach podaję typ): id (int, opcja: auto_increment i indeks), tytul (tinytext), skrot (text), tresc (text) i data (datetime) - tabelę również nazywamy 'newsy'. Oki, tabela jest gotowa, ale żeby było widać efekty w czasie pisania musimy mieć już kilka gotowych newsów. Dodaj więc ręcznie kilka newsów.
Tworzymy pliki
Oki, baza już jest, teraz stwórz katalog, gdzie będą wszystki pliki skryptu i nadaj mu nazwę 'newsy'. W tym katalogu utwórz cztery pliki: include.php, news.php, dodaj.php, dodaj.htm. Gdy wszystko jest gotowe możemy przejść do tego, co programiści lubią najbardziej - kodzenia!
Piszemy kod!
Zaczniemy od wypełnienia pliku include.php. Ma on za zadanie wyświetlenie trzech ostatnich newsów. Otwórz więc ten plik i wpisz taki kod:
<?php
mysql_connect('localhost', 'nazwa_uzytkownika' , 'haslo_uzytkownika');
mysql_select_db("newsy");
$query = mysql_query("select * from newsy order by data desc limit 0,3");
while($rekord = mysql_fetch_array($query))
{
$tekst .= '<b><h3>'.$rekord[1].'</h3></b>'.$rekord[2].'<br/><a href="news.php?id='.$rekord[0].'">czytaj wiecej...</A>';
}
echo $tekst;
?>
Odpal ten plik na swoim komputerze (musisz mieć PHP i MySQL) oczywiście zamień: nazwa_uzytkownika na twój nick do MYSQL (ten sam jest do phpmydmina), a haslo_uzytkownika na haslo do mysql(te samo jest do phpmyadmina). Powinny Ci się pojawić trzy najnowsze newsy i link czytaj więcej. Przeanalizujmy teraz ten kod:
Na początku łączymy się z bazą i wybieramy bazę newsy oraz zaznaczamy 3 ostatnie rekordy w odwróconej kolejności układane według 'data' z tabeli newsy. Następnie je wyświetlamy(najpierw zapisuje wszystko do jednej zmiennej, a potem dopiero wyświetlam, powodem jest szybkość działania skryptu). W linku 'czytaj więcej' zmienna 'id' identyfikuje news.
Zabierzmy się teraz za plik news.php. Odpowiada on za wyświetlenie treści całego newsa i otwiera się po kliknięciu linka 'czytaj więcej'. Otwórz wieć plik i wklep taki kod:
<?php
mysql_connect('localhost', 'nazwa_uzytkownika' , 'haslo_uzytkownika');
mysql_select_db("newsy");
$query = mysql_query("select * from newsy where id='$id'");
$rekord = mysql_fetch_array($query);
$tekst = '<b><h3>'.$rekord[1].'</h3></b>'.$rekord[3].'<br/><br/>'.$rekord[4];
echo $tekst;
?>
Spróbuj teraz kliknąć link 'czytaj więcej' - powinien pojawić się cały news. Tak jak ostatnio przeanalizujemy kod.
Na początku tak samo łączymy się z bazą i wybieramy bazę danych. Następnie zaznaczamy rekord, którego 'id' jest takie samo jak tego newsa, którego link 'czytaj więcej' kliknęliśmy. Następnie zapisujemy tekst do zmiennej i wyświetlamy ją.
Teraz otwórzmy plik dodaj.htm. Stworzymy w nim formularz, dzięki któremu będziemy mogli w łatwy sposób dodawać newsy. Wpisz więc w nim taki kod:
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
<title>Dodaj newsa</title>
</head>
<body>
<h2>Dodawanie newsa:</h2>
<form action="dodaj.php" method=post>
tytuł: <input type="text" name="tytul">
<br/><br/>skrót: </br><textarea name="skrot" rows="7" cols="50"></textarea>
<br/><br/>treść: </br><textarea name="tresc" rows="20" cols="50"></textarea>
<br/><br/><input type="submit" value="Dodaj"></form>
</body>
</head>
Jest to zwykły formularz w HTML'u i nie będę go wyjaśniał. Ważne jest tylko to, że właściwość 'name' w polach formularza to jest też nazwa zmiennej, która przechowuje wartość pola. W formularzu nie ma pól 'id' i 'data' ponieważ będą one uzupełniane automatycznie.
Czas teraz na ostatni plik. Jest to skrypt obsługujący formularz dodaj.htm. Otwórz plik dodaj.php i wpisz kod:
<?php
mysql_connect('localhost', 'nazwa_uzytkownika' , 'haslo_uzytkownika');
mysql_select_db("newsy");
$query = mysql_query("insert into newsy values('', '$tytul', '$skrot', '$tresc', now() )");
echo 'Dziękujemy za dodanie newsa';
?>
Prosty skrypt. Na początku jak zawsze łączymy się z bazą i wybieramy odpowiednią bazę. W następnej linijce za pomocą polecenia 'insert' dodajemy do tabeli newsy odpowiednie wartości: pierwsze pole (id) zostawiamy puste, ponieważ tworząc bazę zaznaczyliśmy opcje auto_uzupełniania, w następnym polu wpisujemy wartość zmiennej 'tytul' z formularza, w następnym wartość 'skrot', a w następnym 'tresc', na samym końcu do ostatniego pola (data) wpisujemy wartość funkcji now() - czyli aktualny czas. Na końcu skryptu wyświetlamy tekst. GOTOWE;)
Jak widzisz prosty system newsów jest wręcz banalny do napisania. Jak widzisz system jest naprawdę bardzo prosty i zachęcam Cię żebyś go trochę rozbudował, będzie to dobra lekcja PHP.