İyinet'e Hoşgeldiniz!

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

Kayıt Ol!

fonksiyonda problem :(

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Merhaba arkadaşlar,
listeleme fonksiyonu yazdım. Ama listeleme yapmıyor acaba nerede hata yaptım bakarsanız sevinirim.
Teşekkurler

PHP:
<?php
include('config.php');
dbbaglan();
function  liste($bolum)
{
$sirala = $_GET[sirala];
if (!isset($sirala)) {
//Listeleme

$harf = array('A', 'B', 'C', 'Ç', 'D', 'E', 'F', 'G', 'H', 'I', 'İ', 'J', 'K', 'L', 'M', 'N', 'O', 'Ö', 'P', 'R', 'S', 'Ş', 'T', 'U', 'Ü', 'V', 'Y', 'Z'); 
for($i=0;$i<28;$i++) { 
echo "<a href=\"?sirala=$harf[$i]\">$harf[$i]</a> ";
}
//Liste Seçilmezse
if(isset($_REQUEST["baslangic"])){
$baslangic=$_REQUEST["baslangic"];
}
else{
$baslangic=0;
}
$kayitsayisi=30;
$sorgu9=mysql_query("select count(*) as 'toplam' from '.$bolum.' ORDER BY id ASC");
$toplamSayi=mysql_result($sorgu9,0,'toplam'); 
$sorgu=mysql_query("select id,baslik from '.$bolum.' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);
//Liste Seçilmezse

//Sayfayı Göster
 while($sonuc=mysql_fetch_array($sorgu))
 {
$id=$sonuc["id"];
$baslik=$sonuc["baslik"];
$url1= makeSEO($baslik);
echo '<a href="makale.php?id='.$id.'">'.$baslik.'</a>'; 
echo "<br />";
}
//Sayfayı Göster
}
else
{
$iharf=substr($sirala,0,1);
//echo $iharf;
//Liste Seçilirse
if(isset($_REQUEST["baslangic"])){
$baslangic=$_REQUEST["baslangic"];
}
else{
$baslangic=0;
}
$kayitsayisi=30;
$sorgu9=mysql_query("select count(*) as 'toplam' from '.$bolum.' WHERE baslik LIKE '$iharf%' ORDER BY id ASC");
$toplamSayi=mysql_result($sorgu9,0,'toplam'); 
$sorgu=mysql_query("select id,baslik from '.$bolum.' WHERE baslik LIKE '$iharf%' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);

//Sayfayı Göster
 while($sonuc=mysql_fetch_array($sorgu))
 {
$id=$sonuc["id"];
$baslik=$sonuc["baslik"];
echo '<a href="makale.php?id='.$id.'">'.$baslik.'</a>'; 
echo "<br />";
}
//Sayfayı Göster

//Liste Seçilirse
}
//Alt Liste
$son=$baslangic + $kayit_sayisi;
echo 'Toplam <b><font color="#FF0000">'.$toplamSayi.'</b></font> kayıt bulundu.<br> ';
if($toplamSayi>$kayit_sayisi)
{
echo '['.($baslangic+1).'] arası ['.$son.'] listeleniyor<br />';
$t=0;
$sayfa=1;


while($t<$toplamSayi)
{
if($baslangic!=$t)
 echo '<a href='.$_SERVER['PHP_SELF'].'?baslangic='.$t.'>'.$sayfa.'</a> - ';
else
 echo $sayfa.' - ';
if($sayfa%10==0){
echo '<br />';
}
$t+=$kayit_sayisi;
$sayfa++;
}

} 
//Alt Liste
}
$bolum = "haber";
liste($bolum)
?>
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Hiç Listeleme yapmıyor. kayıt sayısınıda 0 gösteriyor.
 

zbahadir

0
İyinet Üyesi
Katılım
19 Mart 2006
Mesajlar
2,416
Reaction score
0
Konum
Trabzon
Yazım stili biraz değişik;

$sorgu9=mysql_query("select count(*) as 'toplam' from '.$bolum.' WHERE baslik LIKE '$iharf%' ORDER BY id ASC");
$toplamSayi=mysql_result($sorgu9,0,'toplam');

Tablo alanlarını tırnak içine alınması gerekiyor mu yoksa ben mi bilmiyorum.

Bu şekilde değiştirerek deneyin bakalım olacak mı?
$sorgu9=mysql_query("select count(*) as toplam from $bolum WHERE baslik LIKE $iharf% ORDER BY id ASC");
 

zbahadir

0
İyinet Üyesi
Katılım
19 Mart 2006
Mesajlar
2,416
Reaction score
0
Konum
Trabzon
Elimizde db ve diğer parçalar olmadan deneyemiyoruz.
İstersen paketle ekle bakalım aceleniz yoksa.
Ya da forumda iyi PHP bilen arkadaşlar var yardım edebilecek.
 

ploop

0
İyinet Üyesi
Katılım
11 Ekim 2004
Mesajlar
6,964
Reaction score
0
Konum
karavan
tam bakmadım ama burada hata yok mu?

$sorgu=mysql_query("select id,baslik from '.$bolum.' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);
yerine
$sorgu=mysql_query("select id,baslik from '.$bolum.' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi."");
bunu dene..
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
A B C Ç D E F G H I İ J K L M N O Ö P R S Ş T U Ü V Y Z Toplam kayıt bulundu.

Bu şekilde cıktı yine
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
Bu konu 20522. kez işlendi. :)
Liste seçilirse seçilmezse şartına gerek yok bence.


PHP:
function listele($bolum) {

$myfile = 'index.php';   // MEVCUT URL

$harfset = 'ABCÇDEFGHIJKLMNOPRSTUWXYZ';
$len = strlen($harfset) - 1;

// HARF LISTELEME  
  for ($i=1; $i<=$len; $i++) {
  echo '<a href="'.$myfile.'?harf='.$harfset{$i}.'">'.$harfset{$i}.'</a> ';
  }

// HARF secilmediyse A'yi default al.
  if ($_GET[harf] == "") {
  $_GET[harf] = 'A';
  }

// TOPLAM KAYIT
$q = mysql_query("SELECT id FROM $bolum WHERE baslik like '$_GET[harf]%'");
$num = mysql_num_rows($q);

echo '<br><br>'.$_GET[harf].' ile baslayan toplam '.$num.' baslik bulundu<br>';

// SAYFALAMA
$perpage = 30;   // SAYFA BASI KAYIT SET
$page = ceil($num / $perpage);   // TOPLAM SAYFA SAYISI

  if ($_GET[sayfa] == "") {
  $_GET[sayfa] = 1;    // URL DEN GELMEDIYSE 1. SAYFADAYIZ
  }

echo $page.' adet sayfada listeleniyor. Su anda '.$_GET[sayfa].' sayfadayiz.<br>Sayfa degistirin: ';

  for ($k=1; $k<=$page; $k++) {
  echo '<a href="'.$myfile.'?harf='.$_GET[harf].'&sayfa='.$k.'">'.$k.'</a> ';
  }

echo '<br><br>';

// UST MENU TAMAM

// MEVCUT SAYFAYA GORE VERI CEK
$limit = ($_GET[sayfa] - 1) * $perpage;   // BASLANGIC KAYIDI
$q = mysql_query("SELECT id,baslik FROM $bolum WHERE baslik like '$_GET[harf]%' ORDER BY id ASC $limit,$perpage");

  while ($a = mysql_fetch_array($q)) {
  echo "$id - $baslik<br>";
  }

return 1;
}
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
En azından birşey yazması lazım o kadar echo var.
 

serki

0
İyinet Üyesi
Katılım
5 Ocak 2005
Mesajlar
200
Reaction score
0
$sorgu9=mysql_query("select count(*) as 'toplam' from '.$bolum.' ORDER BY id ASC");
$toplamSayi=mysql_result($sorgu9,0,'toplam');
$sorgu=mysql_query("select id,baslik from '.$bolum.' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);

kullanmak yerine öncelikle aşağıdaki kodu kullan ve belli bir sonuç sayısı döndüğüne emin ol


$toplamSayi=mysql_num_rows(mysql_query("select * from '.$bolum.'"));
$sorgu=mysql_query("select id,baslik from '.$bolum.' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);

ya da liste varsa

$toplamSayi=mysql_num_rows(mysql_query("select * from '.$bolum.' WHERE baslik LIKE '$iharf%'"));
$sorgu=mysql_query("select id,baslik from '.$bolum.' WHERE baslik LIKE '$iharf%' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);


Eğer yine sonuç sayısı gelmez ise aşağıdaki kodların sonucunda ekrana yazılanları buraya yaz, o zaman çözüm bulabiliriz.

echo "select id,baslik from '.$bolum.' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi<br>";

echo "select * from '.$bolum.'";
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
angele böyle sonuç verdi.

B C Ç D E F G H I J K L M N O P R S T U W X Y Z

A ile baslayan toplam baslik bulundu
0 adet sayfada listeleniyor. Su anda 1 sayfadayiz.
Sayfa degistirin:
 

serki

0
İyinet Üyesi
Katılım
5 Ocak 2005
Mesajlar
200
Reaction score
0
bu kodu dener misin

<?php
include('config.php');
dbbaglan();
function liste($bolum) {
$sirala = $_GET["sirala"];
if (!isset($sirala)) {
//Listeleme

$harf = array('A', 'B', 'C', 'Ç', 'D', 'E', 'F', 'G', 'H', 'I', 'İ', 'J', 'K', 'L', 'M', 'N', 'O', 'Ö', 'P', 'R', 'S', 'Ş', 'T', 'U', 'Ü', 'V', 'Y', 'Z');
for($i=0;$i<28;$i++) {
echo "<a href=\"?sirala=$harf[$i]\">$harf[$i]</a> ";
}
//Liste Seçilmezse
if(isset($_REQUEST["baslangic"])){
$baslangic=$_REQUEST["baslangic"];
} else {
$baslangic=0;
}
$kayitsayisi=30;

$toplamSayi=mysql_num_rows(mysql_query("select id from ".$bolum));
$sorgu=mysql_query("select id,baslik from ".$bolum." ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);
//Liste Seçilmezse

//Sayfayı Göster
while($sonuc=mysql_fetch_array($sorgu)) {
$id=$sonuc["id"];
$baslik=$sonuc["baslik"];
$url1= makeSEO($baslik);
echo "<a href=\"makale.php?id='.$id.'\">".$baslik."</a>";
echo "<br>";
}
//Sayfayı Göster
} else {
$iharf=substr($sirala,0,1);
//echo $iharf;
//Liste Seçilirse
if(isset($_REQUEST["baslangic"])){
$baslangic=$_REQUEST["baslangic"];
} else{
$baslangic=0;
}

$kayitsayisi=30;

$toplamSayi=mysql_num_rows(mysql_query("select id from ".$bolum." WHERE baslik LIKE '$iharf%'"));
$sorgu=mysql_query("select id,baslik from ".$bolum." WHERE baslik LIKE '$iharf%' ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);

//Sayfayı Göster
while($sonuc=mysql_fetch_array($sorgu)) {
$id=$sonuc["id"];
$baslik=$sonuc["baslik"];
echo "<a href=\"makale.php?id='.$id.'\">".$baslik."</a>";
echo "<br>";
}
//Sayfayı Göster

//Liste Seçilirse
}




//Alt Liste
$son=$baslangic + $kayit_sayisi;
echo "Toplam <b><font color=\"#FF0000\">".$toplamSayi."</b></font> kayıt bulundu.<br>";
if($toplamSayi>$kayit_sayisi) {
echo "[".($baslangic+1)."] arası [".$son."] listeleniyor<br />";
$t=0;
$sayfa=1;


while($t<$toplamSayi) {
if($baslangic!=$t)
echo "<a href=".$_SERVER['PHP_SELF']."?baslangic=".$t.">".$sayfa."</a> - ";
else
echo $sayfa." - ";

if($sayfa%10==0){
echo "<br>";
}


$t+=$kayit_sayisi;
$sayfa++;
}

}
//Alt Liste
}
$bolum = "haber";
liste($bolum)
?>
 

Angelo

0
İyinet Üyesi
Katılım
13 Aralık 2004
Mesajlar
9,603
Reaction score
111
Konum
AZ
O zaman listele(xxx) diye çağırdığın tabloda a ile başlayan bir şey yok.
 

i.ari

0
İyinet Üyesi
Katılım
16 Aralık 2006
Mesajlar
4,437
Reaction score
6
Konum
Ankara
Örnegin aşagıdakinde listeleme işlemi yapılıyor.

Ama harfe göre degil.

PHP:
<?php
include('config.php');
dbbaglan();
$kayit_sayisi=30;
if(isset($_REQUEST["baslangic"])){
$baslangic=$_REQUEST["baslangic"];
}
else{
$baslangic=0;
}
$kayitsayisi=30;
$sorgu9=mysql_query("select count(*) as 'toplam' from biyografi ORDER BY id ASC");
$toplamSayi=mysql_result($sorgu9,0,'toplam'); 
$sorgu=mysql_query("select id,baslik from biyografi ORDER BY id ASC limit ".$baslangic.",".$kayitsayisi);

 while($sonuc=mysql_fetch_array($sorgu))
 {
$id=$sonuc["id"];
$baslik=$sonuc["baslik"];
$url1= makeSEO($baslik); 
//echo '<a href="biyografi.php?id='.$id.'">'.$baslik.'</a>'; 
echo "<br />";
}

$son=$baslangic + $kayit_sayisi;

echo 'Toplam <b><font color="#FF0000">'.$toplamSayi.'</b></font> kayıt bulundu.<br> ';

if($toplamSayi>$kayit_sayisi)
{
echo '['.($baslangic+1).'] arası ['.$son.'] listeleniyor<br />';
$t=0;
$sayfa=1;


while($t<$toplamSayi)
{
if($baslangic!=$t)
 echo '<a href='.$_SERVER['PHP_SELF'].'?baslangic='.$t.'>'.$sayfa.'</a> - ';
else
 echo $sayfa.' - ';
if($sayfa%10==0){
echo '<br />';
}
$t+=$kayit_sayisi;
$sayfa++;
}

}
?>
 

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

seo ajansı , sosyal medya yönetimi
Üst