• 10-08-2008, 15:24:10
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Oyun sitelerinde arama yapan çocuklar genellikle kelime grupları arıyor ve çoğu zaman o kelimeler veritabanında arka arkaya bulunmadığı için sonuç bulunamadı yazısı çıkıyor.

    mesela arayan kişi 2 kelimeyide arasın 2 sinden biri varsa işleme devam etsin. Kısaca 2 kelimeyi ayrı ayrı nasıl aratabilirim?


    Bazı oyun sitelerinde görüyorum. Yapmışlar onarcade de nasıl yapabiliriz bunu? Onarcadede arama fonksiyonu aşağıdaki gibi.

    // Display games
    function searchgames($page,$searchTerm) {
    	global $siteurl, $filesperpage, $sefriendly;
    	$result = mysql_query("SELECT * FROM files WHERE title LIKE '%$searchTerm%' && status ='1' || description LIKE '%$searchTerm%' && status ='1'");
    	if (mysql_num_rows($result) == '0') {
    		echo " Oyun bulunamadı";
    	} else {
  • 10-08-2008, 15:48:02
    #2
    veri tabanında oyunların bulundağı bölüme full tex aç içine aramak istediğin bölümleri yaz
    mesela oyunadı,oyun linki,oyun açıklama tarzında sonra aramak istediğin yerde full texi çağır
    %kelime% koduylada arttır.
  • 10-08-2008, 16:22:24
    #3
    Üyeliği durduruldu
    https://www.r10.net/php/168305-full-t...ml#post1828097
  • 10-08-2008, 16:29:30
    #4
    Çok teşekkürler sweatcell ama o konudan pek anlamadım. Nasıl yapıldığını görebileceğim bir örnek kod parçası var mı acaba?
  • 10-08-2008, 16:48:21
    #5
    Üyeliği durduruldu
    misal aranan kelime "araba yarışı"

    $result = mysql_query("SELECT * FROM files WHERE title LIKE '%$searchTerm%' && status ='1' || description LIKE '%$searchTerm%' && status ='1'");

    kodda title LIKE '%$araba yarışı%'
    yerine (title LIKE '%araba%' OR title LIKE '%yarışı%') yapıcaksın.


    $basliklike=array();
    $iceriklike=array();
    $parcala=explode(' ',trim($searchTerm));
    foreach(
    $parcala as $x){
    $basliklike[]="title like '%$x%'";
    $iceriklike[]="description like '%$x%'";
    }
    $baslikk=implode(' OR ',$basliklike);
    $icerikk=implode(' OR ',$iceriklike);


    $result = mysql_query("SELECT * FROM files WHERE ($baslikk OR $icerikk) && status ='1'");

    bu kadar
  • 10-08-2008, 18:08:51
    #6
    teşekkürler yapabildim