• 02-11-2008, 15:14:44
    #46
    Üyeliği durduruldu
    https://www.r10.net/php/257349-phpde-...ml#post2708573
    php de sayfalama örneği
  • 02-11-2008, 15:19:38
    #47
    Hocam sen kitap yazsana ya.Daha iyi öğreniriz.
  • 02-11-2008, 18:22:42
    #48
    Gaza getirmeyin şunu ya
  • 03-12-2008, 00:09:29
    #49
    bilmekle öğretebilmek farklı şeyler diye düşünüyorum.. arkadaş elinden geleni yapmış teşekkürler
  • 31-03-2009, 02:25:20
    #50
    Üyeliği durduruldu
    r10 halkının obje ye yönelik kodlamayı biraz anlaması için bir örnek :
    class.sayfalama.saho.php
    <?php
    class sayfalama {
    
        public $sayfa;
        public $suan;
        public $geri;
        public $ileri;
        public $ileriDonguArtisi;
        public $ileriDonguLimit;
        public $bitis;
        public $baslangic;
        public $veriSayisi;
        public $sayfaVeriLimiti;
        public $geriLimit;
        public $ileriLimit;
        public $arguman;
        public $dosya;
        public $link;
        
        public $cssWidthDis = "675px";
        public $cssWidthIc = "650px";
    
        public $cssBg = "#fff";
        public $cssColor = "#000";
        public $cssFontSize = "11px/15px";
        public $cssFontFamily = "tahoma";
        public $cssBorderColor = "#eee";
    
        public $cssHoverBg = "#4f9ecd";
        public $cssHoverColor = "#fff";
        public $cssHoverFontSize = "11px/15px";
        public $cssHoverFontFamily = "tahoma";
        public $cssHoverBorderColor = "11px/15px";
        
        function cssWidthIc($string)
        {
            return $this->cssWidthIc = $string;
        }
        function cssWidthDis($string)
        {
            return $this->cssWidthDis = $string;
        }
        function cssBg($string)
        {
            return $this->cssBg = $string;
        }
        function cssColor($string)
        {
            return $this->cssColor = $string;
        }
        function cssFontSize($string)
        {
            return $this->cssFontSize = $string;
        }
        function cssFontFamily($string)
        {
            return $this->cssFontFamily = $string;
        }
        function cssBorderColor($string)
        {
            return $this->cssBorderColor = $string;
        }
        function cssHoverBg($string)
        {
            return $this->cssHoverBg = $string;
        }
        function cssHoverColor($string)
        {
            return $this->cssHoverColor = $string;
        }
        function cssHoverFontSize($string)
        {
            return $this->cssHoverFontSize = $string;
        }
        function cssHoverFontFamily($string)
        {
            return $this->cssHoverFontFamily = $string;
        }
        function cssHoverBorderColor($string)
        {
            return $this->cssHoverBorderColor = $string;
        }
        function css()
        {
            $html='<style type="text/css">
            .sayfalama {
            float:left;
            width:' . $this->cssWidthIc . ';
            padding-top:5px;
            padding-bottom:5px;
            margin-left:5px;
            display:inline;
            }
            .syfm {
            float:left;
            width:' . $this->cssWidthDis . ';
            display:inline;
            padding:3px;
            background:' . $this->cssBg . ';
            color:' . $this->cssColor . ';
            margin-top:5px;
            font:bold ' . $this->cssFontSize . ' "' . $this->cssFontFamily . '";
            }
            .syfm a #seciliSayfa
            {
            background:#cc0000;
            }
            .syfm a{
            height:30px;
            padding:3px;
            background:' . $this->cssBg . ';
            color:' . $this->cssColor . ';
            margin-left:5px;
            text-decoration:none;
            border:1px solid ' . $this->cssBorderColor . ';
            font:bold ' . $this->cssFontSize . ' "' . $this->cssFontFamily . '";
            }
            .syfm a:hover{
            padding:3px;
            background:' . $this->cssHoverBg . ';
            color:' . $this->cssHoverColor . ';
            margin-left:5px;
            text-decoration:none;
            border:1px solid ' . $this->cssHoverBorderColor . ';
            font:bold ' . $this->cssHoverFontSize . ' "' . $this->cssHoverFontFamily . '";
            }
            </style>';
            return $html;
        }
        function sayiDurum($sayi)
        {
            if(substr($sayi,0,1)=='-')
            {
                return false;
            }
            else
            {
                return true;
            }
        }
        function geriLimit($sayi)
        {
            return $this->geriLimit = $sayi;
        }
        function ileriLimit($sayi)
        {
            return $this->ileriLimit = $sayi;
        }
        function veriSayisi($sayi)
        {
            return $this->veriSayisi = intval($sayi);
        }
        function sayfaVeriLimiti($sayi)
        {
            return $this->sayfaVeriLimiti = intval($sayi);
        }
        function suan($sayi)
        {
            return $this->suan = (empty($sayi)) ? 0 : $sayi;
        }
        function argumanlar($string)
        {
            return $this->arguman = $string;
        }
        function dosya($string)
        {
            return $this->dosya = $string;
        }
        function link()
        {
            return $this->link = $this->dosya . "?" . $this->arguman;
        }
        /*
        function obje($obje=null)
        {
        return $this->obje = ($obje == null && $this->obje == null) ? $_GET['obje'] : $obje;
        }
        */
        function sayfa()
        {
            //try
            //{
            $this->sayfa = intval($this->veriSayisi / $this->sayfaVeriLimiti);
            //    if(!$this->sayfa)
            //    {
            //        throw new Exception('sıfıra bölünemez');
            //    }
            //}
            //catch (Exception $e) {
            //    echo 'Hata: ',  $e->getMessage(), "\n";
            //}
            return $this->sayfa;
        }
        function geri()
        {
            return $this->geri = $this->suan - 1;
        }
        function ileri()
        {
            return $this->ileri = $this->suan + 1;
        }
        function ileriDonguArtisi()
        {
            $this->ileriDonguArtisi = $this->geriLimit - $this->suan;
            if($this->sayiDurum($this->ileriDonguArtisi))
            {
                return     $this->ileriDonguLimit = ($this->suan + $this->ileriLimit + $this->ileriDonguArtisi);
            }
            else
            {
                return    $this->ileriDonguLimit = ($this->suan + $this->ileriLimit);
            }
        }
        function bitis()
        {
            for($j=$this->suan;$j<$this->ileriDonguLimit;$j++)
            {
                if($j<$this->sayfa)
                {
                    $temp = $j;
                }
                else
                {
                    break;
                }
            }
            return    $this->bitis = $temp;
        }
        function baslangic()
        {
    
            for($k=$this->suan;$k>($this->suan-$this->geriLimit);$k--)
            {
                if($this->sayiDurum($k))
                {
                    $temp = $k;
                }
                else
                {
                    break;
                }
            }
            return $this->baslangic = $temp;
        }
        function derle()
        {
            $this->sayfa();
            $this->ileri();
            $this->geri();
            $this->ileriDonguArtisi();
            $this->bitis();
            $this->baslangic();
            $this->link();
    
            $html = null;
            $html.= $this->css();
            $html.="<div class='temizle'></div>";
            $html.='<div class="sayfalama">
                    <div class="syfm"> Sayfalar:';
            // buradaki linkleri - link title ve << , >> işaretlerinide class dan ayarlaniblir hale getirecez bir ara
    
            if($this->sayiDurum($this->geri))
            {
                $html.="<a href='{$this->link}&sayfa=0' title='İlk son sayfaya git'>&laquo;&laquo;</a> ";
                $html.="<a href='{$this->link}&sayfa={$this->geri}' title='Bir önceki sayfaya git'>&laquo; Geri</a> ";
            }
            //echo "basla : {$this->baslangic}<br>Bitiş {$this->bitis}<hr>";
    
            for($i=$this->baslangic;$i<=$this->bitis;$i++)
            {
                if($this->suan == $i)
                {
                    $html.="<a id='seciliSayfa'>".($i+1)."</a>";
                }
                else
                {
                    $html.="<a href='{$this->link}&sayfa={$i}' title='".($i+1).".Sayfaya git'>".($i+1)."</a> ";
                }
            }
            if($this->ileri<$this->sayfa)
            {
                $html.="<a href='{$this->link}&sayfa={$this->ileri}' title='Bir sonraki sayfaya git'>İleri &raquo;</a> ";
                $html.="<a href='{$this->link}&sayfa={$this->sayfa}' title='En son sayfaya git'>&raquo;&raquo;</a> ";
            }
            $html.="</div>
            </div>";
            return $html;
        }
    }
    ?>
    uygulaması :
    /// sayfalama yapılıyor
    // $kriter burada id='{$_GET['id']}' veya baslik like '%{$_GET['kelime']}%' gibi kriter belirtebilirsiniz.
    $were = empty($kriter) ? "where {$kriter}": null; 
    $saySql = mysql_query("select count(id) from tablo $were"); // sayım yapılıyor
    list($veriSayisi) = mysql_fetch_row($saySql);// değişkene atanıyor
    include_once"class.sayfalama.php";/// sdosya çağırılıyor
    $sayfala = new sayfalama();/// sayfalama nesnesi tanımlanıyor
    $sayfala->veriSayisi($veriSayisi);// max veri sayısı belirtiliyor
    $sayfala->sayfaVeriLimiti(27);// 1 sayfada gözükecke veri limiti
    $sayfala->ileriLimit(8);// örneğin 15. sayfada ilerilimit 8 yapılırsa aşağı barda 23 e kadar olan bir listeleme yapılır
    $sayfala->geriLimit(6);// örneğin 15. sayfada gerilimit 6 yapılırsa aşağı barda 9 e kadar olan bir listeleme yapılır
    $sayfala->suan($_GET['sayfa']);// şuan kaçıncı sayfada olduğu saptanıyor bununla 
    eğer şuanki sayfa ise link vermiyoruz tekrar dan farklı belirteçlerde kullanılabilir 
    $sayfala->argumanlar("bolum={$_GET['bolum']}&obje={$_GET['obje']}&kelime={$_GET['kelime']}");// burada get le verilen argümanlar konuyor bunun yerine başka türlü nasıl yapacağınızı aşağıdaki notta bulabilirsiniz
    $sayfala->dosya("index.php");// sayfalama linkinin verileceği sayfa
    echo $sayfala->derle();// tanımlamaların hepsi derlenip ekrana yazdırılıyor
    //// sayfalama bitiyor
    not :
    $sayfala->argumanlar("bolum={$_GET['bolum']}&obje={$_GET['obje']}&kelime={$_GET['kelime']}");
    yerine
    $argumanlar = array();
    foreach($_GET as $key=>$val) $argumanlar[] = "{$key}={$val}";
    $argumans = implode('&',$argumanlar);
    $sayfala->argumanlar($argumans);

    gibi bir uygulama yapılabilir
    css içerisine katmayadabiliriz ama renkleri vs
    $sayfala->cssBorderColor('#000000');
    gibi gibi yöntemlerle düzenleyebiliyorsunuz
    ayrıca sayfalama.css gibi bir dosyayı sürekli sürekli yanında taşımamak için ben bu türlü kullanmaktayım

    input u class olarak çağırmak için bir örnek :
    class.html.saho.php
    class input
    {
        private $name;
        private $id = false;
        private $value;
        private $type = "text";
        private $text = false;
        private $class_ = "none";
    
        public function __construct($name)
        {
            $this->name = $name;
        }
    
        function name($string)
        {
            $this->name = $string;
        }
        function id($string)
        {
            $this->id = $string;
        }
        function type($string)
        {
            $this->type = $string;
        }
        function value($string)
        {
            $this->value = $string;
        }
        function text($string)
        {
            $this->text = $string;
        }
        function class_($string)
        {
            $this->class_ = "class='{$string}'";
        }
        function derle()
        {
            if($this->id == false)
            {
                $this->id = $this->name;
            }
    
            $html="<input type='{$this->type}' name='{$this->name}' value='{$this->value}' id='{$this->id}' />";
            if($this->text != false)
            {
                $html.="<label for='{$this->id}' {$this->class_}>{$this->text}</label>";
            }
    
            return $html;
        }
    kullanımı için :
    [php]
    include_once"class.html.saho.php";
    $input = new input('kelime');
    $input->value($_GET['kelime']);
    echo $input->derle();
    gibi bir yöntemle
    ekrana input yazdırabilirsiniz
    diğer özellikler inide ->id,size,type belirtebilirsiniz ayrıca
    $input->text('kelime giriniz:');
    gibi bir text parametreside gönderirseniz yeni bir label de oluşturacaktır bu sayede
    kelime giriniz: yazısına tıkladıklarında kelime input una otomatik focus lanacaklardır
    bu örnekleri artırmak mümkün örneğin son input oluşturma örneğimiz objeye yönelik olmasaydı nasıl olurdu?
    şöyle olur du :

    function input($name,$type,$id,$value,$ex=null) {
        $html = "<input type='{$type}' name='{$name}' value='{$value}' id='{$id}' {$ex} />";
        return $html;
    }
    echo input('saho','type','idcik','valuecik','...');
    gibi biraz daha karışık gibi duruyor name,type,id argüman sıralamasını ezbere bilmeniz gerekiyor kodlarınızı bir başkası kullanmak istediğinde öğrenmesi gerekebiliyor bu az satırlı bir kod kümesi bunun büyük bir proje olan halini düşündüğünüzde objye yönelik yazımın kod sade temizliğinin olduğuna anlışabilir olduğu , ekip olarak çalışıldığında anlaşılması ve kullanılması daha kolay olduğu gözükebiliyor
    bir kaç örnek vermek istedim oop konusunda forumda oldukça fazla yazdık arama yaparak o konularada ulaşabilirsiniz.

    not: eksikler olabilir örneğin sayfalama classı nı ilk önce function halinde yapmıştım baktım çok karışık oldu alel acele class a dökmüşüm eksiklerim olabilirm mükemmel değiliz en nihayetinde , alel acele paylaşma sebebimde msn den sürekli 1-2 arkadaş rahatsız edip oop hakkında birşeyler soruyorlar bu sebeple foruma yazayım herkez öğrensin dedim
    yazar : şahabettin akca & anka bilişim teknolojileri

    kaynak : php oop(obje/nesne ye yönelik programlama) için 1-2 uygulama örneğibyŞahabettin Akca # Saho
  • 19-04-2009, 03:02:50
    #51
    Teşekkürler en kısa zamanda bunları öğreniceğim.
  • 19-04-2009, 12:46:42
    #52
    Üyeliği durduruldu
    https://www.r10.net/php/359193-siteni...post1058520414

    yeni bir yazı ekledim : sitenize bulaşan iframe virüslerini online olarak silmek için bir kod bölütü
  • 14-05-2009, 22:07:04
    #53
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Ellerin dert görmesin ne diyeyim...
  • 16-05-2009, 15:03:40
    #54
    Üyeliği durduruldu
    yorumlarınız için teşekürler (: