• 29-07-2007, 12:34:03
    #1
    sitemde aranan son 5 kelimeyi txt dosyası olarak kaydetmek ve burdaki son 5 kelimeyi göstermek istiyorum?

    Bunu nasıl yapabilirim?



    (eğer txt olmassa xml biçimindede kayıt imkanım var mı? )
  • 29-07-2007, 12:46:21
    #2
    Üyeliği durduruldu
    Bende arıyorum bunu
  • 29-07-2007, 13:49:40
    #3
    https://www.r10.net/php/70065-her-kel...keydetmek.html yardımcı olur size
  • 29-07-2007, 13:56:50
    #4
    sql için tablo kodları fln yok ama?

    birde txt e yazarsa daha ii olur

    ErsaT ark. bi bakarsa buraya o çözer
  • 29-07-2007, 17:06:10
    #5
    txt veya xml olarak yazdırıp listeleme konusunda fazlaca bilgim yok ama SQL ile yapmak istersen aşağıdakiler işini görecektir.

    Arama Formu;
    Alıntı
    <form method="post" action="ara.php">
    <input type="text" name="kelime">
    <input type="submit" value="Arama Yap">
    </form>
    ara.php
    (Arama yaptırdığın sayfanın herhangi bir yerine ekleyebilirsin.)
    <?php
    if($_POST){
    $kelime = mysql_real_escape_string($_REQUEST['kelime']);
    $sonuc = mysql_query("Select Count(kelime) From arananlar where kelime='$kelime'");
    $sayi = mysql_result($sonuc,0);
    
    	if($sayi ==0){
    	mysql_query("Insert Into arananlar (zaman, kelime) Values ('".time()."', '$kelime')");
    	$zamanasimi	= time()-24*60*60;
    	mysql_query("Delete From arananlar where zaman < ".$zamanasimi);
    	}
    }
    ?>
    SQL Yapısı;
    Alıntı
    CREATE TABLE `arananlar` (
    `zaman` varchar(50) NOT NULL,
    `kelime` varchar(100) NOT NULL,
    KEY `kelime` (`kelime`)
    );
    Verileri Listele;
    (Verileri listelemek istediğin yere ekleyebilirsin.)
    <?php
    $sonuc = mysql_query("Select kelime From arananlar order by zaman DESC limit 5");
    $a=1;
    while($satir = mysql_fetch_array($sonuc)){
    $kelime = $satir['kelime'];
    echo $a."- <a title=\"".$kelime."\" href=\"arama.php?kelime=".$kelime."\">".$kelime."</a><br>";
    $a++;
    }
    ?>
    - Listelemede Limit 5 dediğimiz için ilk 5 veriyi listeler istersen sayıyı yükseltebilir veya azaltabilirsin.

    - $zamanasimi = time()-24*60*60; ile bir gününü tamamlamış veriyi sildiriyoruz. İstersen bu süreyi uzatabilir veya kısaltabilirsin. DB Şişmesin diye siliyoruz. İlk 5 i işine yaradığı için. Fakat istersen hiç sildirmeyip bütün kayıtları ayrı bir sayfada listeletebilirsin.

    - `kelime` varchar(100) NOT NULL, ile 100 karakterlik veri girişi yaptırıyoruz bunu 255 e kadar yükseltebilirsin veya 1'e kadar düşürebilirsin.

    - SQL Yapısını varolan veritabanı içine arananlar şeklinde tablo ekleyerek yapabilirsin.
  • 29-07-2007, 17:14:36
    #6
    Üyeliği durduruldu
    mysql_real_escape_string

    şu fonksiyon ne işe yarıyo çok merak ettimö
  • 29-07-2007, 17:21:52
    #7
    LuGeLaS adlı üyeden alıntı: mesajı görüntüle
    mysql_real_escape_string
    şu fonksiyon ne işe yarıyo çok merak ettimö
    SQL Injection u önlüyor
    PHP: mysql_real_escape_string - Manual

    Strip tags eklemeyi unutmuşum aşağıdaki şekilde kullanırsak html kodlarını süzer.
    strip_tags(mysql_real_escape_string($_REQUEST));
  • 29-07-2007, 17:23:07
    #8
    Üyeliği durduruldu
    ErsaT bu dediklerini aykutbeymp3 scriptine uygulabilirmiyim? zarar verirse hiç denemiyim
  • 29-07-2007, 17:28:20
    #9
    Yapacağın sadece arama sonuçlarının listelendiği sayfaya
    ara.php içeriğini eklemek, arama formu içindeki name="kelime" değişkenini değiştirmek her ne ise.
    Kullandığın db içerisinede arananlar tablosunu eklemek, zarar geleceğini sanmıyorum ama yinede yedek alarak yapabilirsin.