• 14-08-2012, 19:15:37
    #1
    Merhaba.

    Php Sitemde Bazı Sayfalara Önceki Sayfa , Sonraki Sayfa Tarzında Linkler Koymam Gerekiyor.

    AMa Mysql Veritabanından Çekmeyi Bilmiyorum.

    Çünkü Sayfalar Sıra ile Numaralandırılmamış. Rastgele Numaralardan Oluşuyor.

    Yani 3. Sayfa domain.com/7ykb.html iken Sonraki sayfa domain.com/abc5.html Tarzında Olabiliyor.

    Zaten bu 7ykb ve abc5 tarzındaki id'ler Veritabanında Mevcut.

    Yapmam Gereken İse Veritabanından O Anki Kullanılan id den Bir Sonraki ve Bir Öncekini Almak.

    Ama Nasıl Yapacağımı Bilmiyorum.

    Nasıl Yapabileceğim Hakkında Bilgisi Olan Var ise Şimdiden Teşekkürler...
  • 14-08-2012, 19:50:20
    #2
    mysql veritabanı yapını fotoğraflayabilirsen yardımcı olurum.
  • 14-08-2012, 20:18:23
    #3
    Schizophrenia adlı üyeden alıntı: mesajı görüntüle
    mysql veritabanı yapını fotoğraflayabilirsen yardımcı olurum.
    Çok teşekkür ederim...

    Kırmızı boyalı alanlar önemli değil ve tablo ismi "images"...


  • 14-08-2012, 20:40:38
    #4
    .html olmasını sağlayan .htaccess düzenlemesi öncesi sayfanın URL'si nedir acaba?

    kodlarda bunu adrese döndüren bir SELECT komutu olması gerekiyor. bu komutu rica edebilir miyim php dosyandan? (WHERE ID=bi şey) tarzı bi şey de geçebilir
  • 14-08-2012, 20:58:05
    #5
    Schizophrenia adlı üyeden alıntı: mesajı görüntüle
    .html olmasını sağlayan .htaccess düzenlemesi öncesi sayfanın URL'si nedir acaba?

    kodlarda bunu adrese döndüren bir SELECT komutu olması gerekiyor. bu komutu rica edebilir miyim php dosyandan? (WHERE ID=bi şey) tarzı bi şey de geçebilir
    RewriteRule ^t/(.*)\.(jpg|jpeg|png|gif|html)$ show.php?t=$1 [L]
    domain.com/show.php?t=abc3

    yerine

    domain.com/t/abc3.html Oluyor .htaccess Sayesinde.



    Birde Böyle Birşey Buldum. belki Bahsettiğiniz Budur.

    function getImage($id,$where = 'id',$Select = '*'){
    	$db		= loadDBGlobal();
    	$where	= $db->escape_data($where);
    	$id		= $db->escape_data($id);
    	if ($item = $db->sql_query("SELECT $Select FROM images WHERE $where = '$id' LIMIT 1")){
    		return $item[0];
    	}
    	return false;
    }
  • 15-08-2012, 02:09:16
    #6
    oralarda tanımlanmış bir $_GET['t']; olmalı hangi değişkene eşit olduğunu göremediğim için $x diyorum
    $x=$_GET['t'];
    
    $idcek=mysql_query("SELECT iid FROM images WHERE id='$x'")
    $idcekx=mysql_fetch_array($idcek);
    
    $sonraki=$idcekx[0]+1;
    $onceki=$idcekx[0]-1;
    
    $sonrakilink=mysql_query("SELECT id FROM images WHERE iid='$sonraki'");
    $sonrakilinkx=mysql_fetch_array($sonrakilink);
    $oncekilink=mysql_query("SELECT id FROM images WHERE iid='$onceki'");
    $oncekilinkx=mysql_fetch_array($oncekilink);
    
    echo "<a href="show.php?t=" . $sonrakilinkx[0] . ">Sonraki</a>" . "<br>";
    
    echo "<a href="show.php?t=" . $oncekilinkx[0] . ">Onceki</a>" . "<br>";
  • 15-08-2012, 10:50:01
    #7
    yeri gelmişken benimde bu konu ile ilgili şöyle bir sorunum var yardımcı olursanız sevinirim...

    aşağıdaki kolama aracılığıla veritabanımdaki makale tablosundan makaleleri her sayfada 1 makale olacak şekilde sayfalıyorum...
    tablomda 10 tane makale bulunmakta...

    oku.php?sayfa=11 yani tablomda olmayan bir id girildiğinde ilk sayfaya yani okun.php?sayfa=1 e gitmesini istiyorum.. bu konuda yardımcı olursanız çok sevinirim...


    <?php
    @require( "baglan.php" );
    
    $sayfa = intval(@$_GET["sayfa"]);
    
    if(empty($sayfa) || !is_numeric($sayfa))
    {
    $sayfa = 1;
    }
    
    $kayit_sayisi	=	mysql_num_rows(mysql_query("SELECT * FROM makale WHERE durum='1'"));
    $kacar			=	1;
    
    
    $sayfa_sayisi	=	ceil($kayit_sayisi/$kacar);
    $nereden		=	($sayfa*$kacar) - $kacar;
    
    
    $sor			=	mysql_query("SELECT * FROM makale WHERE durum='1' ORDER BY id LIMIT $nereden, $kacar");
    
    
    while ($data = mysql_fetch_array($sor))
    {
    echo $data['title']."<br/>";
    }
    
    
    if($sayfa > 1)
    {
    $onceki	= $sayfa -1;
    echo "<a href=\"oku.php?sayfa={$onceki}\">Önceki</a>";
    }
    
    
    if($sayfa != $sayfa_sayisi)
    {
    $sonraki	= $sayfa +1;
    echo "<a href=\"oku.php?sayfa={$sonraki}\">Sonraki</a>";
    }
    ?>
  • 15-08-2012, 13:33:30
    #8
    Schizophrenia adlı üyeden alıntı: mesajı görüntüle
    oralarda tanımlanmış bir $_GET['t']; olmalı hangi değişkene eşit olduğunu göremediğim için $x diyorum
    $x=$_GET['t'];
    
    $idcek=mysql_query("SELECT iid FROM images WHERE id='$x'")
    $idcekx=mysql_fetch_array($idcek);
    
    $sonraki=$idcekx[0]+1;
    $onceki=$idcekx[0]-1;
    
    $sonrakilink=mysql_query("SELECT id FROM images WHERE iid='$sonraki'");
    $sonrakilinkx=mysql_fetch_array($sonrakilink);
    $oncekilink=mysql_query("SELECT id FROM images WHERE iid='$onceki'");
    $oncekilinkx=mysql_fetch_array($oncekilink);
    
    echo "<a href="show.php?t=" . $sonrakilinkx[0] . ">Sonraki</a>" . "<br>";
    
    echo "<a href="show.php?t=" . $oncekilinkx[0] . ">Onceki</a>" . "<br>";

    Noktalı Virgül hatası Vardı Düzelttim. Şu An Çok Düzgün Çalıştı. Ama En Başta Size Belirtmediğim Bişi Var.

    Belki Resimden ANlarsınız.



    Yani iid ye bağlı içerikler sıralı olarak gitmiyor. arada silinenler var.

    $sonraki=$idcekx[0]+1;
    $onceki=$idcekx[0]-1;

    Dediğimizde Bazen Boşa Düştüğü Oluyor.

    Bunun İçin Ne Yapabiliriz???