• 01-08-2009, 15:27:50
    #1
    Merhaba,
    Asagidaki gibi bir fonksiyon olusturdum. Bu fonksiyon etiketler tablosundan 20 tane etiketi rastgele listeliyor. Fonksiyon biraz acemi isi olabilir cunku ilk defa fonksiyon olusturdum.
    function etiketler(){
    global $baseurl;
    $tagsql="SELECT keyword, tagurl FROM tags ORDER BY RAND() DESC LIMIT 0,20";
    $query=mysql_query($tagsql);
    while($taglist=mysql_fetch_assoc($query)) { 
    echo '<li><a href="'.$baseurl.'/etiketler/'.$taglist[tagurl].'.html" title="'.$taglist[keyword].'">'.$taglist[keyword].'</a></li>';
    }
    }
    Fakat fonksiyon icinde html taglari mevcut <li></li> bunlari cikarmak istiyorum. Yapmak istedigim asagidaki gibi.
    function etiketler(){
    global $baseurl;
    $tagsql="SELECT keyword, tagurl FROM tags ORDER BY RAND() DESC LIMIT 0,20";
    $query=mysql_query($tagsql);
    while($taglist=mysql_fetch_assoc($query)) { 
    echo '<a href="'.$baseurl.'/oyunlar/'.$taglist[tagurl].'.html" title="'.$taglist[keyword].'">'.$taglist[keyword].'</a>';
    }
    }
    fonksiyonun ciktisinin olacagi sayfa
    <ul>
    <li>
    <?php etiketler(); ?>
    </li>
    </ul>
    Bu sekilde olmayacagini biliyorum yani tek bir li icine tum ciktiyi verecegini. Ama yapmak istedigim su html ile php yi birbirinden ayirmak.
    Mesela su sekildede olabilir
    <ul>
    <?php etiketi_ac(); ?>
    <li>
    <?php etiketler(); ?>
    </li>
    <?php etiketi_kapat(); ?>
    </ul>
    Buradaki etiket_ac kismini while baslangici olarak ve etiket-kapat kisminida while bitisi olarak dusundum ama yapilabilme ihtimasli nedir bilmiyorum.

    Buna uygun bir fonksiyonu hangi mantikla yapmam gerekiyor veya bana onereceginiz bir yol varmi ?
    Tesekkurler.
  • 01-08-2009, 16:45:09
    #2
    echo '<li> burada kendiniz eklemişsiniz silin çıkmaz
  • 01-08-2009, 16:53:39
    #3
    Biliyorum kendim ekledim iste bende onu eklemeden nasıl yaparım diyorum onu eklemez direk li tagları arasına alırsam bütün veriler tek bir li içine gelecek ve olmayacak. Benim istediğim fonksiyonu üç aşamalı yapmak yani aç,listele ve kapat. Bunu hangi mantıkla yaparım yada mümkün değilmi ?
  • 01-08-2009, 18:43:48
    #4
    Eposta Aktivasyonu Gerekmekte
    anladım kadarıyla etiketlerin her birinde li olsun istiyorsun ?
  • 01-08-2009, 19:29:47
    #5
    Evet herbirinde li olucak ama fonksiyondan bagimsiz. Normalde benim ilk yazdigim fonksiyonda herbirinde li var ama fonksiyon icinde tanimli.

    Fakat istedigim fonksiyonu li taglari arasina almak yani icerik dosyasinda fonksiyonu cagiracagim ve li taglari arasinda yer alacak. Burdaki amacim birazda html ile php yi ayirmak. Ama nasil yapacagim konusunda hicbir fikrim yok arastiriyorum ve bu sekilde bir ornege yada anlatima rastlamadim.

    Tesekkurler
  • 02-08-2009, 00:05:38
    #6
    Yapılacak olanın en iyisini yapmışsın zaten bence.. ayırman gerekmezk anladıgım kadarıyla..[
    PHP]
    <ul>
    <?php etiketler(); ?>
    </ul>>[/PHP] şeklinde kullandıgınsa sorunmu yaşıyorsunki?
  • 02-08-2009, 01:26:33
    #7
    Hayir sorun yasamiyorum. Fonksiyon icindeki li taglarinida disariya cikarmak istedim sadece tasarim yaparken birde fonksiyon dosyasi icinde degisiklik yapmamk icin. Belki ileride oraya liste degilde div koyulur degistirirken sadece icerik dosyasini degistiridik ama baska caresi yoksa bu sekilde kalacak artik.
    Tesekkurler