• 14-08-2007, 15:18:49
    #1
    Php'yle kendi çapımda birşeyler yapmak istiyorum ilk önce basit bir blog yazmak istiyorum şimdilik bişeyler yapabildim ama sayfalama ve tarihi yapamadım internetten bir sürü sayfalama kodu örneği aldım ama beceremedim
    kodum şu
    <?php
    mysql_connect ("localhost", "blog", "blog") or die ('I cannot connect to the database because: ' . mysql_error());
    mysql_select_db ("blog");
    mysql_query("SET NAMES 'latin5'");
    $sorgu = mysql_query ( "SELECT * FROM blog " );
        while ( $oku = mysql_fetch_assoc ( $sorgu ) ) {
            echo "<p class='bas'> $oku[baslik]</p><hr class='cizgi'> <p class='continut'> $oku[yazi]</p><hr class='cizgi'>  <br>\n";
        }
    ?>
    bu kod mysql'dan veri çekiyor ve alt alta sıralıyor ama ben bunların sayfalanmasını istiyorum yani örneğin site.com/blog.php?=1 şeklinde olucak ve her sayfada 10 tane yazı göstercek bu birinci sorum buydu 2.side mysql veri gönderdim php sayfasında çektim php sayfasında veri ne zaman girilmiş onun tarihini alabilirmiyim php kodu ile teşekkür ederim zaman ayırdığınız için.
  • 14-08-2007, 19:35:59
    #2
    Üyeliği durduruldu
    Al arkadasim

     
    <?$page2= $site . "/arama.php?aranacak=" . $aranacak;
    $ana_baglanti = $page2;
    $eleman_sayisi = $nr2;
    $sayfa_basina = $max;
    $aktif_sayfa = $page;
    $ekmi = 0;
    $sayfa_degiskeni = "&p=";
     echo "<div class=\"pagination\"><b>Sayfalar:</b>";
        // Bu fonksiyon calismak icin birdensuna() fonksiyonunu gerektirir 
        $sayfa_sayisi = ceil($eleman_sayisi/$sayfa_basina); 
        if ( $aktif_sayfa < 1 OR $aktif_sayfa > $sayfa_sayisi ) { $aktif_sayfa = 1; } 
        $sayfalar_araligi = ceil($sayfa_sayisi/10); // sayisi kucultuldukce baglanti sayisi azalir 
        $sayfalanacak = array(1,$sayfa_sayisi,birdensuna(($aktif_sayfa-20),$sayfa_sayisi) 
        ,birdensuna(($aktif_sayfa-15),$sayfa_sayisi),birdensuna(($aktif_sayfa-10),$sayfa_sayisi) 
        ,birdensuna(($aktif_sayfa-5),$sayfa_sayisi),birdensuna(($aktif_sayfa-2),$sayfa_sayisi) 
        ,birdensuna(($aktif_sayfa-1),$sayfa_sayisi),$aktif_sayfa 
        ,birdensuna(($aktif_sayfa+1),$sayfa_sayisi),birdensuna(($aktif_sayfa+2),$sayfa_sayisi) 
        ,birdensuna(($aktif_sayfa+5),$sayfa_sayisi),birdensuna(($aktif_sayfa+10),$sayfa_sayisi) 
        ,birdensuna(($aktif_sayfa+15),$sayfa_sayisi),birdensuna(($aktif_sayfa+20),$sayfa_sayisi)); 
        for ($i=$aktif_sayfa;$i>0;$i=$i-$sayfalar_araligi) { $sayfalanacak[] = $i; } 
        for ($i=$aktif_sayfa;$i<$sayfa_sayisi;$i=$i+$sayfalar_araligi) { $sayfalanacak[] = $i; } 
        $sayfalanacak = array_unique($sayfalanacak); 
        sort($sayfalanacak); 
        foreach ( $sayfalanacak as $sayfa_no ) { 
            if ( $sayfa_no == $aktif_sayfa ) { echo " [<span class=\"here\"><span>$sayfa_no</span></span>] "; } 
            else { 
                if ( $ekmi == 0 ) { echo "<a href=\"$ana_baglanti$sayfa_degiskeni$sayfa_no\">$sayfa_no</a> "; } 
                else { echo "<a href=\"$ana_baglanti&$sayfa_degiskeni$sayfa_no\">$sayfa_no</a> "; } 
    }    }    
    echo "<br></div>";
    ?>
    Bnedeki Bir scriptin Kodu Kendine Gore Editle
  • 15-08-2007, 09:15:26
    #3
    Kodunu şu şekilde düzenledim. Denemedim ama inşallah hatası yoktur.

    blog.php dosyası:
    <?php
    $sayfa		= @abs(intval( $_REQUEST['sayfa'] ) ); // sayfa numarası al.
    $limit 		= 10; // sayfa başına gösterilecek kayıt sayısı.
    
    function sayfalama( $limit, $sayfano, $satir_sayisi=0, $sayfaadi='index.php', $adresdeger='' ) 
    { 
      $sayfalama = ''; 
      if($satir_sayisi > $limit) 
      {                 
        $sayfa_sayisi = $satir_sayisi / $limit;                 
        $sayfa_sayisi = ceil($sayfa_sayisi);                 
        if($sayfano == $sayfa_sayisi) 
        {                         
          $to = $sayfa_sayisi;                 
        } elseif($sayfano == $sayfa_sayisi - 1) 
        {                         
          $to = $sayfano + 1;                 
        } elseif($sayfano == $sayfa_sayisi - 2) 
        {                         
          $to = $sayfano + 2;                 
        } else {                         
          $to = $sayfano + 3;                 
        }                
        if($sayfano < 4) 
        {                         
          $from = 1;                 
        } else {                         
          $from = $sayfano - 3;                 
        } 
    
        if (4 < $sayfano) 
        $sayfalama .= ' <b><a class="pagenav" href="'.$sayfaadi.$adresdeger.'"><b>1</b></a> ...</b> '; 
                    
        for($i=$from; $i <= $to; $i++) 
        {                         
          if($i == $sayfano) 
          {         
            $sayfalama .= ' <b class="pagenav" title="'.$i.'. sayfadasınız.">'.$i.'</b> ';                       
          } else {         
            $sayfalama .= ' <a class="pagenav" href="'.$sayfaadi.'&sayfa='.$i.$adresdeger.'" title="'.$i.'. sayfa &raquo;">'.$i.'</a> ';                         
          }                 
        }        
        if ($to < $sayfa_sayisi) 
        { 
          $sayfalama .= ' <b>... <a class="pagenav" href="'.$sayfaadi.'&sayfa='.$sayfa_sayisi.$adresdeger.'" title="'.$sayfa_sayisi.'. sayfa &raquo;">'.$sayfa_sayisi.'</a></b> '; 
        } 
      }         
      if ( ($sayfano >= $sayfa_sayisi) && $sayfalama ) {
      	 $sayfalama .= ' <b class="pagenav" title="Son sayfadasınız.">Sonraki sayfa &raquo;</b> ';
    	} else {
    	$syf = $sayfano+1;
    	$sayfalama .= ' <a class="pagenav" href="'.$sayfaadi.'&sayfa='.$syf.$adresdeger.'" title="' . $syf . '. sayfa &raquo;">Sonraki sayfa &raquo;</a> ';
    	}
       if( $satir_sayisi <= $limit ) 
      {                 
        $sayfalama = 'Sayfa 1';         
      }   
      return $sayfalama; 
    }
    
    mysql_connect ("localhost", "blog", "blog") or die ('I cannot connect to the database because: ' . mysql_error());
    mysql_select_db ("blog");
    mysql_query("SET NAMES 'latin5'");
    
    	$say = mysql_query ("SELECT * FROM blog");
    	$count = mysql_num_rows( $say );
    	
    	if( empty( $sayfa ) || $sayfa > ceil( $count / $limit ) ) {
    		$sayfa = 1;
    		$baslangic = 0;
    	} else {
    		$baslangic = ( $sayfa - 1 ) * $limit;
    	}
    	
    	
    $sorgu = mysql_query ( "SELECT * FROM blog LIMIT ".$baslangic.", ".$limit );
    $rows = mysql_fetch_object ( $sorgu );
        foreach ( $rows as $row  ) {
            echo '<p class="bas"> '.$row->baslik.'</p><hr class="cizgi"> <p class="continut"> '.$row->yazi.'</p><hr class="cizgi">  <br>'."\n";
        }
    ?>
    <p align="center">Sayfalar: <?php echo sayfalama( $limit, $sayfa, $count, 'blog.php', '' ); ?></p>