Witaj, Gościu O nas | Kontakt | Mapa
Wortal Forum PHPEdia.pl Planeta Kubek IRC Przetestuj się!

Tutorial PHP/MySQL

Więcej możliwości wyświetlania wyników

Dotychczas nauczyłeś się w jaki sposób stworzyć bazę danych i umieścić w niej tabele, jak dodać do nich dane oraz w jaki sposób wyświetlić z niej informacje. W tej części poznasz więcej metod na wyświetlanie i wydobywanie informacji z twojej bazy danych..

Formatowanie wyników

W tej części wyświetlimy listę wszystkich zapisanych w bazie osób. Wygenerowana zostanie bardzo podstawowa lista która będzie mało przydatna na stronie internetowej. Dlatego tez wyniki odpowiednio sformatujemy i wyświetlimy jako tabele.

Wykonanie tego formatowania jest nie skomplikowane. Wszystko co jest potrzebne to użycie PHP do wyświetlenia HTML i zawarcie twoich wartości w odpowiednich miejscach. Najprostszą drogą do osiągnięcia tego celu jest opuszczenie PHP i wpisanie czystego HTML. Gdy chcesz odwołać się do odpowiedniej pozycji wartości użyj:

<? echo $nazwawartości; ?>

w odpowiednim miejscu w twoim kodzie.

Możesz również zastosować pętle za pomocą PHP w celu umieszczenia kodu jako część większej tabeli. Np. używając sekcji kodu z części czwartej zawierającej pętle z wyświetlaniem zawartości bazy możesz dodatkowo dokonać formatowania tych wyników w uzyskanej tabeli:

<table border="0" cellspacing="2" cellpadding="2">
<tr>
<th><font face="Arial, Helvetica, sans-serif">Nazwa</font></th>
<th><font face="Arial, Helvetica, sans-serif">Telefon stacjonarny</font></th>
<th><font face="Arial, Helvetica, sans-serif">Telefon komórkowy</font></th>
<th><font face="Arial, Helvetica, sans-serif">Fax</font></th>
<th><font face="Arial, Helvetica, sans-serif">E-mail</font></th>
<th><font face="Arial, Helvetica, sans-serif">strona WWW</font></th>
</tr>

<?
$i=0;
while ($i < $num) {

$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
?>

<tr>
<td><font face="Arial, Helvetica, sans-serif"><? echo $first." ".$last; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo $phone; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo $mobile; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><? echo $fax; ?></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="mailto:<? echo $email; ?>">E-mail</a></font></td>
<td><font face="Arial, Helvetica, sans-serif"><a href="<? echo $web; ?>">WWW </a></font></td>
</tr>

<?
$i++;
}

echo "</table>";

Ten kod zwróci nagłówki tabeli, następnie doda kolejne wiersze dla każdego rekordu w bazie danych i dokona formatowania danych na wyjściu.

Jeśli jesteś już obeznany z PHP i HTML nie trzeba tłumaczyć ci poszczególnych części tego kodu, jednak wspomnimy tu tylko o dwóch ostatnich jego liniach:

<a href="mailto:<? echo $email; ?>">E-mail</a>

To ukazuje korzyść z używania PHP do zawierania danych z MySQL i ich późniejszej przeróbki w sposób automatyczny co powoduje iż strona nabiera cech dynamiczności.

Wybieranie części danych
SELECT * FROM contacts

Jeśli chcemy wybrać tylko osoby o pierwszym imieniu "John" należy zadać następujące zapytanie:

SELECT * FROM contacts WHERE first='john'

Tak jak i inne zapytania tak i to przypomina niemal zupełnie rozmowę w języku angielskim. W ten sam sposób możesz pobrać rekordy dowolnego pola z bazy danych. Możesz także pobrać ich więcej dodając więcej sekcji:

pole='wartość'

do swojego zapytania.

Możesz również użyć wartości w celu nadania innych kryterii. Np. jeśli masz formularz wyszukiwania i podczas wyszukiwania nazw ludzi otrzymany wynik przypisać do wartości $serchlast a następnie zapisać go w bazie możesz wykorzystać kod podobny do:

$query="SELECT * FROM contacts WHERE last='$searchlast'";
$result=mysql_query($query);

Zauważ iż na końcu pierwszej linii jest ' (apostrof) przed znakiem " (cudzysłów).

Bezpieczeństwo
Część 6
Informacje na podobny temat:
Wasze opinie
Wszystkie opinie użytkowników: (7)
gdzie link?
Piątek 15 Lipiec 2011 12:45:10 pm - beneglih

Fajny tutorial, tylko dlaczego na jego końcu jest informacja, że skrypt można pobrać, dwukropek i puste miejsce, brak linka...

ort
Sobota 13 Marzec 2010 10:02:17 pm - katwer <katwer_at_op.pl>

Co jak co, ale artykuł do druku na poważnym portalu, to już powinien przejść przez standardowe sprawdzanie pisowni choćby zautomatyzowane, jeśli autor nie wie, jak się pisze HASŁO.

Sorry, ale takie lekceważenie języka polskiego - musiałam.

pytanie
Niedziela 01 Lipiec 2007 8:56:38 pm - bercik156 <fifunia07_at_wp.pl>

mam pytanie jak zmienić w bazie danych język żeby na stronie były polskie znaki??

złeeee
Poniedziałek 07 Maj 2007 9:01:03 am - wbeatn <wbeatn_at_gmail.com>

dlaczego w tym artykule jest podany bledny kod ? strona z dodawaniem do bazy mi dziala, to samo jest ze strona ktora wyswietla rekordy, ale strona ktora ma wyswietlic formularz edytujacy wywala blad 'Warning: mysql_numrows(): supplied argument is not a valid MySQL ...' .. robie wszystko wedlug instrukcji i takie cos :/

Dłąd :D
Sobota 25 Listopad 2006 11:38:44 pm - sabistik <wiktorski_at_poczta.php.pl>

haha, Czemu nikt wcześniej tego nie zraportował:
http://irc.php.pl/blog/?id=392
?? ;D

Wyjaśnienie małe
Piątek 27 Październik 2006 9:26:17 pm - slump <slump_Ilawa_at_wp.pl>

Twoje sugestje są jak najbardziej trafne, jednak pamiętaj, że jest to tylko translacja arta z języka Angielskiego.
Pozdrawiam

Kilka luźnych uwag
Czwartek 26 Październik 2006 12:12:12 pm - Diabl0

Rozumiem że jest to art dla totalnie początkujących i przeglądałem go bardzo pobieżnie, ale mimo wszystko mam kilka zastrzeżeń:

1 - instalowanie phpmyadmin na serwerze bez odpowiedniego zabezpieczenia go - kto się opiekuje serwerami niech spojrzy sobie w logi jak często trafiają się roboty szukające phpmyadmin - nie sądzę aby szukały one sobie tylko z czystej ciekawości. Trzeba było przynajmniej napisać jak go zabezpieczyć przez .htaccess

2 - SQL incjection - wstawianie danych pochodzących od usera prosto do bazy bez sprawdzenia i zabezpieczenia. Temat ten wszędzie jest tak często wałkowany że tutorial dla początkujących z takim błędem to duży imho duża porażka. Aż tak ciężko było poświęcić dwa akapity na wyjaśnienie zagrożenia i zaproponowanie chociażby mysql_escape_string?

3 - nie wiem skąd takie parcie na while ($i < $num) i każdorazowe przepisywanie danych? IMHO dużo wygodniejsze (zwłaszcza dla początkujących, a nie wiem też czy nie szybsze) jest while ($row = mysql_fetch_assoc($ret).

4 - drobiazg, ale: <? :) <?php jest bardziej prawidłowe zwłaszcza że już słyszałem jakieś pogłoski że <? ma zostać z czasem usunięte :)

5 - formatowanie kodu - ja rozumiem że system znaczników na php.pl może utrudniać zachowanie wcięć itp, ale skoro to jest tutorial dla początkujących to przydało by się też zadbać o uczenie ich dbałości o wygląd kodu i jego staranniejsze formatowanie - to naprawdę ułatwia w przyszłości życie a dzięki odrobiny praktyki stosuje się praktycznie odruchowo.

To takie moje drobne uwagi po pobieżnym przejrzeniu arta (głównie fragmentów kodu) . Nie jest to żadna miażdżąca krytyka - po prostu wychodzę z założenia że o ile w arcie dla doświadczonych programistów nawet nie było by sensu zwracać na to uwagi (w końcu każdy i tak ma już wyrobione własne nawyki i przyzwyczajenia), to jednak w arcie dla początkujących warto położyć większy nacisk na tego typu drobiazgi aby od początku wtłaczać i wyrabiać w nich dobre nawyki.

Mentax.pl    NQ.pl- serwery z dodatkiem świętego spokoju...   
O nas | Kontakt | Mapa serwisu
Copyright (c) 2003-2021 php.pl    Wszystkie prawa zastrzeżone    Powered by eZ publish Content Management System eZ publish Content Management System