• 22-04-2008, 20:49:19
    #46
    bunu onarcadede nasıl kullanabiliriz arkadaslar bilgisi olanlar yardım edebilirmi

    onarcade index php de arama kısmındaki kodlar:

    } elseif ($action == 'search') {
        
        if (!empty($_GET['page'])) {
            $page = $_GET['page'];
        } else {
            $page = "1";
        }
        $searchTerm = $_GET[t];
        if (empty($searchTerm)) {
        $searchTerm = $_POST[t];
    
        }
        include ("includes/search.php");
        $pagefile = "search.html";
        $sitename2 = $sitename." - Search";
        include ("templates/".$template."/main.html");
    aşağıdaki kodlarlada ersat arkadasımın dediği gibi bir tablo olusturdum veritabanında
     CREATE TABLE `arananlar` (
     `zaman` varchar(50) NOT NULL,
     `kelime` varchar(100) NOT NULL,
     KEY `kelime` (`kelime`)
     );
    bunları calıstıramadım yardım edebilcek varmı
  • 24-06-2008, 18:27:33
    #47
    ErsaT adlı üyeden alıntı: mesajı görüntüle
    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;
    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ı;
    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.

    ya sunları anlamadım
    arama yapısı

    ve

    SQL yapısı bunları nereye yapacaz lütfen acıklayıcı olarak anlatırmısınız
  • 15-03-2010, 01:57:34
    #48
    Kimlik doğrulama veya yönetimden onay bekliyor.
    ErsaT verdiğin kod bu ama sen tablo adınıda kelime yapmışsın arama formunun adınıda. Sanırım anlaşılmayan nokta bu. Daha doğrusu benim anlamadığım nokta bu. Benim arama formumun adı "ara" diyelim, senin verdiğin koddaki hangi kelime'lerle değiştiricem onu anlayamadım. Sadece bunu çözüme kavuşturursan çok sevinirim
    <?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); 
        } 
    } 
    ?>
  • 15-03-2010, 12:11:03
    #49
    Benim verdiğim örnekte arama kutusu şöyle;
    <input type="text" name="kelime">

    Sende aşağıdaki gibiyse;
    <input type="text" name="ara">

    Şunu ($_REQUEST['kelime']) değiştireceksin;
    $_REQUEST['ara'] olacak
  • 15-03-2010, 12:37:33
    #50
    Arama Formum Şu
    		<form name="ara" id="ara" action="/" method="POST">
    			<p>
    			  <input class="go" src="images/go.gif" id="aramabuton" value="" type="image" />
                  <input name="q" type="text" class="search" id="aramakutu" onfocus="this.value=''" value="ne dinlemek istersiniz ?" />
    			</p>
    
    		</form>
    Arama formum index.php dosyası içinde. En üste sizin verdiğiniz kodu yapıştırdım şu şekilde

    <?PHP header('Content-Type: text/html; charset=iso-8859-9');
    include ("db_ayar.php");
    //error_reporting(E_ALL);
    //ini_set('display_errors',1); 
    
    
    
    if($_POST){ 
    $kelime = mysql_real_escape_string($_REQUEST['q']); 
    $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); 
        } 
    } 
    ?>
    db ayarlarında bir sorunum yok, phpmyadminden veri girdiğimde sitede gösterebiliyorum. Neden hala olmadı acaba?