Bilişimcilerin Otağı

Php ile verileri gösterme

PHP- MySQL Kullanarak tablodaki verileri ekranda görüntüleme:

Bunun birçok yöntemi olduğunu belirterek anlatmaya başlayalım:

mysql_fetch_row, mysql_fecth_array, mysql_result  komutlarının kullanımı

<?
@mysql_connect(“localhost”,“root”) OR die (“mysqle bağlanamadım”);
@mysql_select_db(“ders”)or die (“ders veritabanı bulunamadı”);
?>


bildiğiniz gibi biz bu kodları her mysql bağlantımızda kullanıyoruz. Bu satırları bir dosyaya kayıt eder ve oradan okutturursak bir daha bu satırları yazma ihtiyacımız olmaz. Bunun için: yukarıda bulunan satırları BAGLAN.PHP olarak kaydediyoruz.

Şimdide aşağıdaki satırları yazıp GOSTER.PHP olarak kaydedelim….

<? //GOSTER.PHP
include (“baglan.php”);
$sorgu=mysql_query(“select * from notlar”);
$satir=mysql_num_rows($sorgu);
$i=0;
while ($i<$satir)
{
$no=mysql_result($sorgu,$i,“no”);
$ad=mysql_result($sorgu,$i,“ad”);
$ortalama=mysql_result($sorgu,$i,“ortalama”);
echo (“no=$no—ad=$ad—ortalama=$ortalama<p>”);
$i++;
}
?>

bitti… hepsi bu kadar… demek isterdim ama öyle değil L

şimdi bu öğrendiğimizden daha hızlı bir gösterme yöntemi kullanacağız…

aşağıdaki satırları GOSTER2.PHP olarak kaydedin

<? //GOSTER2.PHP
include (“baglan.php”);//mysqle bağlanmaya yarar.
$sorgu=mysql_query(“select * from notlar”);//mysqlden notlar tablosundaki tüm kayıtları alır
while ($satir=mysql_fetch_row($sorgu))
{
echo (“no=$satir[0]— ad=$satir[1]— ortalama=$satir[2]<p>”);
}
?>

bu satırlar aslında çok daha kısa ve çok daha hızlı… Açıklayalım…

while ($satir=mysql_fetch_row($sorgu))
bu satırlar ile ilginç bir şekilde… döngüyü kendi başlatıyor.. birer birer arttırıyor…

echo (“no=$satir[0]— ad=$satir[1]— ortalama=$satir[2]<p>”);

bu satırlarla da ekrana basıyoruz.. no=$satir[0] biraz garip gelmiş olabilir. Onu da açıklayalım. [0] ile tablodaki 0 nolu sütunu yani noyu temsil ediyorur, [1] olan ise adı, [2] olan ise ortalamayı temsil ediyor. Bu erişim şekli hem kod olarak daha kısa hem de daha hızlı… yukarıdaki mysql_fetch_row yerine mysql_fetch_array aynı şekilde kullanılabilir.

Bundan başka yöntemlerde var ancak ben bu yöntemi yeterli görüyorum .

Yukarıda yazdığımız satırlarda selcet * from diyerek tüm sonuçları tablodan çektik… ama iyi yapmadık..! düşününki öss sonuçlarını basıyorsunuz ve ekrana 1.5 milyon sonuç yolladınız… siteniz kesinlikle çalışmayacaktır. Bu sıkıntıdan kurtulmak için sonuçları 10 arlı yada 20 li parçalara bölmemiz lazım. Bunun için de kodlarımı şöyle yazmamız gerekir.

GOSTER3.PHP

<? // goster3.php
include (“baglan.php”); // mysqle bağlanıyoruz.
if (!$k) {$k=0;} // $k boş ise 0 olarak atıyoruz.

$sorgu=mysql_query(“select * from notlar order by ad limit $k,10″); // sonuçların $k dan itibaren 10 kayıt gösterilmesini istiyoruz.

while ($satir=mysql_fetch_row($sorgu))
{
echo (“no=$satir[0]— ad=$satir[1]— ortalama=$satir[2]<p>”); // dosyadaki tüm kayıtları ekrana basıyoruz
}
$k=$k+10; //$k değişkenini 10 arttırıyoruz
echo (“<a href=\”goster3.php?k=$k\”>sonraki 10 kayıt</a>”); // şu anda gösterilen sonuçtan itibaren 10 sonuç daha görüntülüyoruz.
?>

evet şimdi birde tüm sonuçları görmek için tıpkı google yada altavista daki gibi sonuçları onarlı parçalara bölelim…

GOSTER4.PHP

<? // goster4.php
include (“baglan.php”);
if (!$k) {$k=0;}

$sorgu=mysql_query(“select * from notlar order by ad limit $k,10″);
$hepsi=mysql_query(“select * from notlar”); // burada tüm sonuçları çekiyoruz çünkü kaç sonuç olduğunu bilmemiz lazım
while
($satir=mysql_fetch_row($sorgu))
{
echo (“no=$satir[0]— ad=$satir[1]— ortalama=$satir[2]<p>”);
}
$toplam_sayi=mysql_num_rows($hepsi) ;// kaç sonuç olduğunu öğreniyoruz.
echo “toplam <b> $toplam_sayi</b> sonuç var <p>”;
$i=0;
while ($i<$toplam_sayi)
{
$a=$a+10;
echo (“<a href=\”goster4.php?k=$i\”>[$i$a]</a>”); //ekrana 10arlı bölmeler oluşturuyoruz?
$i=$i+10;
}
?>

//// count kullanımı

$toplam    = @mysql_query(“select count(*) from tablo”);
$toplam    = @mysql_result($toplam, 0);

şimide renkli satırlar ile sonuçları ekrana basalım…

GOSTER5.PHP

<? // goster5.php
include (“baglan.php”);
if (!$k) {$k=0;}

$sorgu=mysql_query(“select * from notlar order by ad limit $k,10″);
$hepsi=mysql_query(“select * from notlar”);
echo “<table border=1 >
<tr bgcolor=#6633cc>
<td> No</td> <td> ad</td> <td> ortalama</td>
</tr>”;
while ($satir=mysql_fetch_row($sorgu))
{
if ($b%2){$renk =“#ffffcc”;}
else {$renk=“#ccff99”;}
echo (“<tr bgcolor=’$renk‘>
<td>$satir[0]</td>
<td>$satir[1]</td>
<td>$satir[2]</td>
</tr>”);
$b++;
}
echo “</table>”;
$toplam_sayi=mysql_num_rows($hepsi) ;
echo “toplam <b> $toplam_sayi</b> sonuç var <p>”;
$i=0;
while ($i<$toplam_sayi)
{
$a=$a+10;
echo (“<a href=\”goster5.php?k=$i\”>[$i$a]</a>”);
$i=$i+10;
}
?>

alıntı Dahihost.com

Yazar: Mustafa Şadoğlu

Mustafa sitemizde 111 yazı eklemiş...