• 15-03-2015, 23:23:20
    #1
    Üyeliği durduruldu
    Selam,

    PHP'e yeni başlayanların ortak sorusu: dinamik başlık nasıl yapılır? İnternette birkaç yöntem gördüm ama çok karışık geldi.

    Normalde veritabanıyla bağlantı, header'a eklenir. Fakat bunu değiştirerek çalışmalarımı aşağıdaki gibi yapıyorum;

    Örneğin video.php sayfası:
    <?php 
    include_once('baglan.php');
    $getID = $_GET['getID']; // Örnek: 1
    $hadi = mysql_query("select * from yazilar where id = '$getID'");
    while($heidi = mysql_fetch_assoc($hadi))
    {
    $baslik = $heidi['yazi_basligi']; 
    }
    $title = $baslik; // Örnek 1 başlıklı yazının başlığını yazdırdık.
    $desc = 'Video sayfası içeriği!';
    include_once('header.php');
    ?>
    Header.php sayfasındaki title da şöyle olacak;
    <title><?php if(stripslashes($title)){
    echo $title; 
    }else{
    echo 'Sayfa başlığı girilmemiş!';
    }
    ?></title>
    Bu mevzuları atlamış kitle için "acaba cidden bunun için başlık mı açmış?" gibi gelebilir ama PHP'e ilk giriştiğimde bunun için 2 günümü harcamıştım
  • 15-03-2015, 23:26:56
    #2
    DNSZ adlı üyeden alıntı: mesajı görüntüle
    Selam,

    PHP'e yeni başlayanların ortak sorusu: dinamik başlık nasıl yapılır? İnternette birkaç yöntem gördüm ama çok karışık geldi.

    Normalde veritabanıyla bağlantı, header'a eklenir. Fakat bunu değiştirerek çalışmalarımı aşağıdaki gibi yapıyorum;

    Örneğin video.php sayfası:
    <?php 
    include_once('baglan.php');
    $getID = $_GET['getID']; // Örnek: 1
    $hadi = mysql_query("select * from yazilar order by id = '$getID'");
    while($heidi = mysql_fetch_assoc($hadi))
    {
    $baslik = $heidi['yazi_basligi']; 
    }
    $title = $baslik; // Örnek 1 başlıklı yazının başlığını yazdırdık.
    $desc = 'Video sayfası içeriği!';
    include_once('header.php');
    ?>
    Header.php sayfasındaki title da şöyle olacak;
    <title><?php if($title){
    echo $title; 
    }else{
    echo 'Sayfa başlığı girilmemiş!';
    }
    ?></title>
    Bu mevzuları atlamış kitle için "acaba cidden bunun için başlık mı açmış?" gibi gelebilir ama PHP'e ilk giriştiğimde bunun için 2 günümü harcamıştım

    stripslashes($title); şeklinde kullanırsanız tırnak vs sonrası oluşabilecek ters slashları filtrelersiniz.
  • 15-03-2015, 23:27:23
    #3
    Üyeliği durduruldu
    DNSZ adlı üyeden alıntı: mesajı görüntüle
    Selam,

    PHP'e yeni başlayanların ortak sorusu: dinamik başlık nasıl yapılır? İnternette birkaç yöntem gördüm ama çok karışık geldi.

    Normalde veritabanıyla bağlantı, header'a eklenir. Fakat bunu değiştirerek çalışmalarımı aşağıdaki gibi yapıyorum;

    Örneğin video.php sayfası:
    <?php 
    include_once('baglan.php');
    $getID = $_GET['getID']; // Örnek: 1
    $hadi = mysql_query("select * from yazilar order by id = '$getID'");
    while($heidi = mysql_fetch_assoc($hadi))
    {
    $baslik = $heidi['yazi_basligi']; 
    }
    $title = $baslik; // Örnek 1 başlıklı yazının başlığını yazdırdık.
    $desc = 'Video sayfası içeriği!';
    include_once('header.php');
    ?>
    Header.php sayfasındaki title da şöyle olacak;
    <title><?php if($title){
    echo $title; 
    }else{
    echo 'Sayfa başlığı girilmemiş!';
    }
    ?></title>
    Bu mevzuları atlamış kitle için "acaba cidden bunun için başlık mı açmış?" gibi gelebilir ama PHP'e ilk giriştiğimde bunun için 2 günümü harcamıştım
    şey ;
    mysql_query fonksiyonları öldü
    title verisi almak için select * kullanmak mantıksız sadece stun adı yazıla bilir ve lımıt 1 dersiniz böylelikle sadece title'ı alırsınz gereksiz sorgu olmaz mysql den kazanırsınız.
    ve ayrıca order by GELEN_ID demek mantıksız dizilime göre binlerce veri çalıştırsınız belki sql de gereksiz yük olur onun yerine belirli bir veriyi almak istiyor isek koşul belirtmeniz daha mantıklıdır kısacası şöyle bir sorgu ideal ;
    Select yazi_basligi from yazilar where id='$getID' LIMIT 1
  • 15-03-2015, 23:28:22
    #4
    Üyeliği durduruldu
    While döngüsüne ne gerek var? id ile sorguladığınıza tek kayıt var.
    while($heidi = mysql_fetch_assoc($hadi))
    {
    $baslik = $heidi['yazi_basligi']; 
    }
    // Yerine
    $heidi = mysql_fetch_assoc($hadi);
    $baslik = $heidi['yazi_basligi'];
  • 15-03-2015, 23:30:49
    #5
    ismailbayhan adlı üyeden alıntı: mesajı görüntüle
    şey ;
    mysql_query fonksiyonları öldü
    title verisi almak için select * kullanmak mantıksız sadece stun adı yazıla bilir ve lımıt 1 dersiniz böylelikle sadece title'ı alırsınz gereksiz sorgu olmaz mysql den kazanırsınız.
    ve ayrıca order by GELEN_ID demek mantıksız dizilime göre binlerce veri çalıştırsınız belki sql de gereksiz yük olur onun yerine belirli bir veriyi almak istiyor isek koşul belirtmeniz daha mantıklıdır kısacası şöyle bir sorgu ideal ;
    Select yazi_basligi from yazilar where id='$getID' LIMIT 1
    Limit 1 kullanıldığında daha fazla satır ve sorgu harcamış olmaz mısın? Zaten title alanı 1 satırdır. Where ile de hedefi bulmuşsun, limit 1 kullanmanın amacı yok.
  • 15-03-2015, 23:31:17
    #6
    Üyeliği durduruldu
    dem_baba adlı üyeden alıntı: mesajı görüntüle
    While döngüsüne ne gerek var? id ile sorguladığınıza tek kayıt var.
    while($heidi = mysql_fetch_assoc($hadi))
    {
    $baslik = $heidi['yazi_basligi']; 
    }
    // Yerine
    $heidi = mysql_fetch_assoc($hadi);
    $baslik = $heidi['yazi_basligi'];
    arkadaşın sorgusu tek kayıt almaz order by kullanmış belirli bir koşul yok sadece id e göre listeletiyor belki 10 bin içerik varsa 10 binide gelecektir. aslında yukarıdaki örnek baştan sona hatalı.
  • 15-03-2015, 23:31:51
    #7
    Üyeliği durduruldu
    ismailbayhan adlı üyeden alıntı: mesajı görüntüle
    şey ;
    mysql_query fonksiyonları öldü
    title verisi almak için select * kullanmak mantıksız sadece stun adı yazıla bilir ve lımıt 1 dersiniz böylelikle sadece title'ı alırsınz gereksiz sorgu olmaz mysql den kazanırsınız.
    ve ayrıca order by GELEN_ID demek mantıksız dizilime göre binlerce veri çalıştırsınız belki sql de gereksiz yük olur onun yerine belirli bir veriyi almak istiyor isek koşul belirtmeniz daha mantıklıdır kısacası şöyle bir sorgu ideal ;
    Select yazi_basligi from yazilar where id='$getID' LIMIT 1
    Tamamen el alışkanlığı. mysql_query'in içinde olmayınca kodumu çıplak hissediyorum

    Neyse PDO'yla ilgili paylaşımlar yapmaya başladığımda mysql_query'den filan kurtulurum

    Evet orda bi' hata söz konusu idi ve değiştirdim görünce
  • 15-03-2015, 23:32:55
    #8
    Üyeliği durduruldu
    iyi adlı üyeden alıntı: mesajı görüntüle
    Limit 1 kullanıldığında daha fazla satır ve sorgu harcamış olmaz mısın? Zaten title alanı 1 satırdır. Where ile de hedefi bulmuşsun, limit 1 kullanmanın amacı yok.
    kullansanızda aynı işlemi yapar kullanmasanız'da ama bende alışkanlıktır kullanırım işi garantiye almak iyidir limit işlemi + bir query döndürmez zaten sonucu alır durdurur.
  • 15-03-2015, 23:35:45
    #9
    Üyeliği durduruldu
    ismailbayhan adlı üyeden alıntı: mesajı görüntüle
    arkadaşın sorgusu tek kayıt almaz order by kullanmış belirli bir koşul yok sadece id e göre listeletiyor belki 10 bin içerik varsa 10 binide gelecektir. aslında yukarıdaki örnek baştan sona hatalı.
    Koşul yokmu id = '$getID' bu nedir ?

    Bir ikincisi dediğin gibi sorgu hatalı zaten koşul verildiğinde order by ada gerek yok

    Neyse yinede arkadaş katkıda bulunmak istemiş ellerine sağlık devam...