PHP ile MySQL veritabanına bağlanıp veri alış verişi yapabilirsiniz. Çokca verinin bulunduğu bir ver kümesinde ki verileri listelemek istediğimizde verileri belli bir aralıkla listelemek gerekir.
PHP Kod: Kodu kopyalamak için üzerine çift tıklayın!
<html>
<head>
<title>Listeleme</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9" />
</head>
<body>
<table align="center" width"="50%">
<tr style="background-color:#CC0000;font-weight:bold">
<td>No</td>
<td>Adı</td>
<td>SoyAdı</td>
<td>Mail</td>
</tr>
<?php
if (!$limit) $limit=0;
try {
$db = new mysqli("localhost","root","","pusula");
if ( mysqli_connect_error())
throw new Exception("MySQL'e Bağlanamadım");
}
catch (Exception $e) {
die("{$e->getMessage()}");
}
try {
$sql = "SELECT * FROM uyeler2 LIMIT $limit, 10";
$db->query("SET NAMES 'LATIN5'");
if(! $sorgu = $db->query($sql) )
throw new Exception("Sorgumuz Çalışmadı");
while ($oku = $sorgu->fetch_array() )
{
if ($oku[0] %2) $renk="orange"; else $renk="yellow";
printf("
<tr style='background-color:$renk'>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
</tr>",
$oku[0], $oku[1], $oku[2], $oku[3] );
}
$sorgu->close();
}
catch (Exception $e)
{
die("{$e->getMessage()}";
}
?>
</table>
<div align="center">
<?php
try {
$sql = "SELECT COUNT(1) AS toplam FROM uyeler2";
$sorgu = $db->query($sql);
$toplam = $sorgu->fetch_assoc();
if ( $toplam[toplam] > 10 )
{
$satir = 0;
while ($satir < $toplam[toplam]) {
$sayi++;
if ($limit == $satir)
echo " [ $sayi ] ";
else
echo "<a href='?limit=$satir'>$sayi</a> ";
$a++;
$satir = $satir + 10;
}
}
$sorgu->close();
}
catch (Exception $e)
{
die("$e->getMessage()}";
}
$db->close();
?>
</div>
</body>
</html>
Burada verdiğim ikinci PHP kodunda, verilerin sayısını öğrenmek için SQL cümleciğinden yararlandık. Bunun bir diğer alternatifi düz veri listeleyen SQL cümleciğini oluşturup, çıkan sonuçtan veri sayısını PHP'yle okutmaktır.
Yalnız bu yöntem performans açısından son derece sakıncalıdır. Zira 1 milyon gibi bir veri içeren veritabanında bu tip bir kullanım çılgınlık olacaktır.