folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder Php'de Bir Fonksiyonun Kullanımı



Php'de Bir Fonksiyonun Kullanımı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek
    function VeriOkuCoklu($tablo,$sart=array(),$sartkarsilik=array(),$operator="",$order="",$ordertur="",$limit="")
        {
            $this->bilgial=null;
            if(count($sart)==0)
            {
                if($order=="")
                {
                    $sorgu = "SELECT * FROM $tablo";
                }
                else
                {
                    if($limit=="")
                    {
                        $sorgu = "SELECT * FROM $tablo ORDER BY $order $ordertur";
                    }else
                    {
                        $sorgu = "SELECT * FROM $tablo ORDER BY $order $ordertur LIMIT $limit";
                    }
                }
    
                foreach($this->baglan->query("$sorgu",PDO::FETCH_OBJ) as $row)
                {
                    @$this->bilgial[]=$row;
                }
            }else
            {
                $birlestir ="";
                if($order=="")
                {
                    foreach($sart as $sartal)
                    {
                        if($operator=="")
                        {
                            $birlestir .= $sartal."=? AND ";
                        }else
                        {
                            $birlestir .= $sartal."$operator? AND ";
                        }
                    }
                    $kes = trim(substr($birlestir,0,-4));
                    $sorgu = "SELECT * FROM $tablo WHERE $kes";
                }else
                {
                    foreach($sart as $sartal)
                    {
                        if($operator=="")
                        {
                            $birlestir .= $sartal."=? AND ";
                        }else
                        {
                            $birlestir .= $sartal."$operator? AND ";
                        }
    
                    }
                    $kes = trim(substr($birlestir,0,-4));
                    if($limit=="")
                    {
                        $sorgu = "SELECT * FROM $tablo WHERE $kes ORDER BY $order $ordertur";
                    }else
                    {
                        $sorgu = "SELECT * FROM $tablo WHERE $kes ORDER BY $order $ordertur LIMIT $limit";
                    }
    
                }
                $alancek = $this->baglan->prepare("$sorgu");
                $alancek->execute($sartkarsilik);
                while($row = $alancek->fetch(PDO::FETCH_OBJ))
                {
                    $this->bilgial[] = $row;
                }
    
    
    
    
            }
        }

    fonksiyon bu..
    Ben bu fonksiyon içine ek bir koşul koymak istiyorum 
    WHERE parite=TOPLAM şeklinde.. 

    nasıl yapabilirim?

    Yigit tarafından 25/Eyl/19 18:06 tarihinde düzenlenmiştir
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    function VeriOkuCoklu($tablo, $sart = array(), $sartkarsilik = array(), $operator = "", $order = "", $ordertur = "", $limit = "")
    {
        $this->bilgial = null;
        if (count($sart) == 0) {
            if ($order == "") {
                $sorgu = "SELECT * FROM $tablo";
            } else {
                if ($limit == "") {
                    $sorgu = "SELECT * FROM $tablo WHERE parite=TOPLAM  ORDER BY $order $ordertur";
                } else {
                    $sorgu = "SELECT * FROM $tablo WHERE parite=TOPLAM  ORDER BY $order $ordertur LIMIT $limit";
                }
            }
    
            foreach ($this->baglan->query("$sorgu", PDO::FETCH_OBJ) as $row) {
                @$this->bilgial[] = $row;
            }
        } else {
            $birlestir = " parite=TOPLAM AND ";
            if ($order == "") {
                foreach ($sart as $sartal) {
                    if ($operator == "") {
                        $birlestir .= $sartal . "=? AND ";
                    } else {
                        $birlestir .= $sartal . "$operator? AND ";
                    }
                }
                $kes = trim(substr($birlestir, 0, -4));
                $sorgu = "SELECT * FROM $tablo WHERE $kes";
            } else {
                foreach ($sart as $sartal) {
                    if ($operator == "") {
                        $birlestir .= $sartal . "=? AND ";
                    } else {
                        $birlestir .= $sartal . "$operator? AND ";
                    }
    
                }
                $kes = trim(substr($birlestir, 0, -4));
                if ($limit == "") {
                    $sorgu = "SELECT * FROM $tablo WHERE $kes ORDER BY $order $ordertur";
                } else {
                    $sorgu = "SELECT * FROM $tablo WHERE $kes ORDER BY $order $ordertur LIMIT $limit";
                }
    
            }
            $alancek = $this->baglan->prepare("$sorgu");
            $alancek->execute($sartkarsilik);
            while ($row = $alancek->fetch(PDO::FETCH_OBJ)) {
                $this->bilgial[] = $row;
            }
    
    
        }
    }

    Bir dene hocam

    Edit söylemeden geçmeyeceğim, hocam kod çok kötü sen yazdı isen de daha güzel kodlayabilirsin burayı diye düşünüyorum. Parametreler gönderip bu parametrelere göre işlem yap miss gibi SQL INJECTİON Var. Gerçi PDO Kullanıyorsun ama gene de düzelt. Ben beğenmedim kodlamanı :P

     

    Amacım aşağılamak falan değil hocam yanlış anlama beni...

    MhmdAlmz tarafından 25/Eyl/19 18:13 tarihinde düzenlenmiştir

    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    kod benim değil bir arkadaş ücreti karşılığında yazmıştı.
    Zaten uzman değilsek de anlayan biri olarak fonksiyona bakarak bile yapamadım istediğim şeyi. Kendi anlayacağı şekilde hazır fonksiyonlar üretip saklamış muhtemelen.
    Bu arada senin gönderdiğin de olmadı. @mhmdAlmz

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    yolbulucu
    yolbulucu's avatar
    Kayıt Tarihi: 06/Nisan/2007
    Homo

    işteyim çok bakamadım ama geçiçi olarak şey yapabilirsin tablo yerine kendi query ni var parantez içinde,

     

    veriOkuCoklu("(select * from tablo_adi where parite='TOPLAM')", $diger, $parametreler)


    29.99cm, titanyum kaplamalı, çift damarlı, su ve yağ soğutmalı.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Yigit
    Yigit's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    yolbulucunun dediği de olmadı. 

    Ne cins kod bu arkadaş :D 
    iç içe foreach'ler olmasa bi nebze kendi sorgumu yazıcam ama iç içe foreachler kafamı karıştırıyor.

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    MhmdAlmz
    MhmdAlmz's avatar
    Kayıt Tarihi: 09/Ağustos/2015
    Erkek
    Yigit bunu yazdı

    yolbulucunun dediği de olmadı. 

    Ne cins kod bu arkadaş :D 
    iç içe foreach'ler olmasa bi nebze kendi sorgumu yazıcam ama iç içe foreachler kafamı karıştırıyor.

    Hocam akşam bakalım benimkinin çalışması lazım tekrar baktım ama. Problem başka olabilir.


    Andolsun kuşluk vaktine ve dindiği zaman o geceye ki, Rabbin sana veda etmedi ve darılmadı! Ve kesinlikle senin için sonu önünden (ahiret dünyadan) daha hayırlıdır. ileride Rabbin sana verecek de hoşnut olacaksın! O, seni bir yetim iken barındırmadı mı? Seni, yol bilmez iken (doğru) yola koymadı mı? Seni bir yoksul iken zengin etmedi mi? Öyle ise, sakın yetime kahretme (onu horlama)! El açıp isteyeni de azarlama! Fakat Rabbinin nimetini anlat da anlat!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    whopper
    whopper's avatar
    Kayıt Tarihi: 26/Haziran/2008
    Erkek
    Yigit bunu yazdı

    kod benim değil bir arkadaş ücreti karşılığında yazmıştı.
    Zaten uzman değilsek de anlayan biri olarak fonksiyona bakarak bile yapamadım istediğim şeyi. Kendi anlayacağı şekilde hazır fonksiyonlar üretip saklamış muhtemelen.
    Bu arada senin gönderdiğin de olmadı. @mhmdAlmz

    abi bi arkadaşına şu yazıyı yolla bi baksın

    https://code.tutsplus.com/tutorials/top-15-best-practices-for-writing-super-readable-code--net-8118

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    emirhan-exp
    emirhan-exp's avatar
    Kayıt Tarihi: 10/Ocak/2010
    Erkek

    Hoca soyle olcak:

    VeriOkuCoklu(tabloismi,"parite=toplam",digerleri)

     

     

     

     

    emirhan-exp tarafından 27/Eyl/19 00:09 tarihinde düzenlenmiştir
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    end
    end's avatar
    Kayıt Tarihi: 16/Ekim/2016
    Erkek
    emirhan-exp bunu yazdı

    Hoca soyle olcak:

    VeriOkuCoklu(tabloismi,"parite=toplam",digerleri)

    2. parametre array? olsa olsa ['parite' => 'toplam'] olur

    ki kodu inceledim, gelen veri array olacak yine ama key val seklinde degil direkt val seklinde. ["'parite' = 'toplam'"]

    end tarafından 27/Eyl/19 00:44 tarihinde düzenlenmiştir

    0x0480 takilin madem ﷽﷽﷽
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    emirhan-exp
    emirhan-exp's avatar
    Kayıt Tarihi: 10/Ocak/2010
    Erkek

    Hayir,oyle degil end hocam.array olan ici degil.stringin kendisi boyle,ikiden fazlaysa array olarak tanitilmasi lazim.

    Zaten array tek elemansa boyle de yazilabiliyor

     

     

    emirhan-exp tarafından 27/Eyl/19 00:27 tarihinde düzenlenmiştir
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hybris
    Hybris's avatar
    Kayıt Tarihi: 12/Haziran/2007
    Erkek

    böyle kodlar yüzünden php nin adı çıktı.

    aslında php kötü ama bu kadar da kötü değil. phpciler kötü :)


    agile isn’t how fast you can go, it’s how fast you can turn.
Toplam Hit: 3217 Toplam Mesaj: 17
php fonksiyon