İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Msql'den aldığı veriyi sayfalara ayırma Örn:her sayfaya 20 konu

werci

0
İyinet Üyesi
Katılım
9 Nisan 2005
Mesajlar
212
Reaction score
0
Bu SQL komutu herhangi bir şart aramaksızın (WHERE deyimini kullanmadık), personel tablosunda bulunan kayıtların hepsini siler. Fakat burada dikkat edilmesi gereken husus, bu işlemden sonra personel tablosu yapısını aynen korur. Yani içindeki kayıtlar silinir ama tablo yapısı, alan isimleri, veri türleri, birincil anahtar, vs. hepsi korunur. Eğer tabloyu içindeki kayıtlarla beraber tamamen silmek istersek DELETE yerine DROP TABLE komutunu kullanırız.


Kod:
<?
 
$isimy = mysql_query("select * from icerik ORDER BY id DESC LIMIT 0,25");
$katS = mysql_num_rows($isimy);
$sayac = 0;
while($katF = mysql_fetch_array($isimy))

 {
  $idx[$sayac] = $katF["id"];
  $baslikx[$sayac] = $katF["baslik"];
  $haber1[$sayac] = $katF["haber1"];
  $sayac++;
 }
$dongu1 = 25;
 ?>
 <TABLE width="630" align="center">
<?
for($i=0;$i<$dongu1;$i++)
  echo("
  <TR>
    <TD><b><a href=\"yazilar/".make_url_friendly($baslikx[$i])."-".$idx[$i].".html\">".$baslikx[$i]."</a></b></TD>
  </TR>
  <TR>
     <TD style='border-bottom: 1px solid #FFFFFF;'>".$haber1[$i]."<br><br></TD>
  </TR>
");
?>
</TD>
</TR>
</TABLE>

Arkadaşlar bu şekilde maximum bir sayfada 25 veri gösteriliyor yada kaç olarak ayarlarsan ama her haber ekledikçe bununla uğraşmak istemiyorum. Sayfaya ayırma şeklinde olmasını istiyorum bunu nasıl yapabilirim? Her sayfaya 20 konu şeklinde mesela..
 
Moderatör tarafında düzenlendi:

werci

0
İyinet Üyesi
Katılım
9 Nisan 2005
Mesajlar
212
Reaction score
0
açıkcası gayet güzelce sıraladı ilk verdiğin konudaki kod ama orda 3 problemim oluştu konuları son eklemesine göre göstermiyor en son eklediğin son sayfaya gidiyor ve birde nedendir anlamadım türkçe karekter sorunu çıktı(biraz uğraşsam giderebilceğim birşeydir heralde) ama en önemlisi ".make_url_friendly($baslikx[$i])." bu kodu yani seo'yu ona göre düzenleme işinin altından bir türlü kalkamadım...
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
Aşağıdaki kod da
$isimy = mysql_query("select * from icerik ORDER BY id DESC LIMIT 0,25"); bölümünde bir sayfada ne kadar göstermek istediğinizi, 25 değerini değiştirerek sağlayabilirsiniz.

0,25 orada belirlediğimiz koşullara göre veri çekerken 0'cı kayıttan başlayarak 25 veriyi al mantığı vardır.

O halde biz sayfalamak istiyorsak bu 0'ı bir değişkene oturtmalıyız ki bir sonraki sayfada (yani 2'ci sayfa için) 25'ci sonuçtan sonra ki 25 veriyi alsın. Bir sonraki sayfa içinde (yani 3'cü sayfa icin) 50'ci sonuçtan sonra ki 25 veriyi yazdıralım. vs.. Bu bu şekilde gidecek. Yani bir nevi matemetik hesabı.

O halde "0" değişkeni için şu şekilde bir kod yazabiliriz.

PHP:
$s = $_GET["s"]; //burada 0 değişkenini s harfi olarak tanımlıyoruz ve get ile alıyoruz
if($s == "") //s degeri verilmemiş ise
 $s = 0; //s i 0 olarak tanımlıyoruz
else //eğer tanımlı ise
$s = ($s-1) * 25; //s degerinden bir cıkartık 25 ile çarpıyoruz
Daha sonra sizin kodlarda 0'ı yukarıda tanımladığımız s değişkeni alacak şekilde ayarlıyoruz
PHP:
<? 
  
$isimy = mysql_query("select * from icerik ORDER BY id DESC LIMIT $s,25"); 
$katS = mysql_num_rows($isimy); 
$sayac = 0; 
while($katF = mysql_fetch_array($isimy)) 

 { 
  $idx[$sayac] = $katF["id"]; 
  $baslikx[$sayac] = $katF["baslik"]; 
  $haber1[$sayac] = $katF["haber1"]; 
  $sayac++; 
 } 
$dongu1 = 25; 
 ?> 
 <TABLE width="630" align="center"> 
<? 
for($i=0;$i<$dongu1;$i++) 
  echo(" 
  <TR> 
    <TD><b><a href=\"yazilar/".make_url_friendly($baslikx[$i])."-".$idx[$i].".html\">".$baslikx[$i]."</a></b></TD> 
  </TR> 
  <TR> 
     <TD style='border-bottom: 1px solid #FFFFFF;'>".$haber1[$i]."<br><br></TD> 
  </TR> 
"); 
?> 
</TD> 
</TR> 
</TABLE>
 

werci

0
İyinet Üyesi
Katılım
9 Nisan 2005
Mesajlar
212
Reaction score
0
Güzel, anladım fakat aklıma birşey takıldı bu şekilde benim direk elle atama yapmam gerekicek sayfa.php?s=1/2/3/4/5 şeklinde. O zamanda iş gene manuel'e dönmüş olucak :( Otomatik olarak atamasını istiyorum, çok mu şey istiyorum acaba :( ?
 

yagmayok

1
İyinet Üyesi
Katılım
25 Ocak 2005
Mesajlar
7,131
Reaction score
89
Güzel, anladım fakat aklıma birşey takıldı bu şekilde benim direk elle atama yapmam gerekicek sayfa.php?s=1/2/3/4/5 şeklinde. O zamanda iş gene manuel'e dönmüş olucak :( Otomatik olarak atamasını istiyorum, çok mu şey istiyorum acaba :( ?

Onu bilerek yazmadım.

İlk yazdığım bölümdeki gibi kendinize bir yol çıkartırsanız, az biraz matematiğide kullanarak, onuda çok basit kodlar ile birlikte yazabilirsiniz.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst