• 25-09-2010, 14:12:19
    #1
    Merhabalar arkadaşlar ben bir üyeler arası mesajlaşma sistemi yazdım.Bir input ile mesaj gönderilecek kişinin adı yazılıyor.Benim yapmak istediğim mesela "c" harfine basınca c ile başlayan ilk 20 tane üyenin isminin görünmesi.Bunun için sanırım php+ajax gerekli yada ben yanlış biliyor olabilirim.Bu konuda yardımcı olabilirseniz sevinirim....
  • 25-09-2010, 14:20:16
    #2
    otomatik tamamlama diye aratın googlede ajaxlı olması gerekiyor
  • 25-09-2010, 14:24:25
    #3
    Üyeliği durduruldu
    jacksparov adlı üyeden alıntı: mesajı görüntüle
    Merhabalar arkadaşlar ben bir üyeler arası mesajlaşma sistemi yazdım.Bir input ile mesaj gönderilecek kişinin adı yazılıyor.Benim yapmak istediğim mesela "c" harfine basınca c ile başlayan ilk 20 tane üyenin isminin görünmesi.Bunun için sanırım php+ajax gerekli yada ben yanlış biliyor olabilirim.Bu konuda yardımcı olabilirseniz sevinirim....
    şurada bir açıklama var.
  • 25-09-2010, 14:31:49
    #4
    https://www.r10.net/1064779138-post12.html

    Az önce bu mesajımda bi örneğini yaptım. Küçük bi yazılım olsun isterseniz onu kullanabilirsiniz.
  • 25-09-2010, 14:37:04
    #5
    bu örnek güzelde bunu üye ismine göre yapmanın mantıgı nasıl bir şey olur.Üye isimlerini sqlden alırım fakat gelen verinin sql ile düzenlenmesi konusunda bir fikir yürütemedim açıkçası.
  • 25-09-2010, 14:53:05
    #6
    $row['kelime'] değişkenindeki kelime ibaresi yerine üye isimlerinin olduğu sütunun adını yazın. Çalışmazsa ve/veya başka sorularınız varsa bu konuda sorun, yardımcı olurum.
  • 25-09-2010, 15:06:11
    #7
    Üyeliği durduruldu
    jacksparov adlı üyeden alıntı: mesajı görüntüle
    bu örnek güzelde bunu üye ismine göre yapmanın mantıgı nasıl bir şey olur.Üye isimlerini sqlden alırım fakat gelen verinin sql ile düzenlenmesi konusunda bir fikir yürütemedim açıkçası.
    uyeara.php dosyası
    <?php
    function oneriler() {
        require('veritabani.php');
        $k = mysql_real_escape_string($_GET['k']); // $k = $kelime;
        $q = mysql_query("SELECT * FROM uyeler WHERE uye_adi like '{$k}%' limit 0,20");
        if($q && mysql_num_rows($q) > 0) {
            $kelimeler = array();
            while($row = mysql_fetch_assoc($q)) {
                $kelimeler[] = '<li>' . $row['uye_adi'] . '</li>';
            }  
            echo implode("\n", $kelimeler);
        }
    }
    ?>
    index.php dosyası

    <script>
    function onerigoster(kelime) {
        $.ajax({
            type: 'GET',
            url: '/uyeara.php?k=' + kelime,
            success: function (data) {
                $('#oneriler ul').html(data);
            }
        });
    }
    </script>
    
    <input onchange="javascript: onerigoster(this.value);" />
    <div id="oneriler">
        <ul>
        </ul>
    </div>
    gibi.


    örnek için teşekkürler Hkan gayet kullanışlı ve anlaşılır olmuş
  • 25-09-2010, 15:07:12
    #8
    o kadarını anlamıştım.Fakat yinede çalışmadı.Şöyle bir kod oldu...

    function oneriler() { 
        require('config.php'); 
    
        $alici_kim = mysql_real_escape_string($_GET['alici_kim']); // $k = $kelime; 
         
        $q = mysql_query("SELECT * FROM `uye` WHERE `uye_kullaniciadi` LIKE '{$alici_kim}%'"); 
         
        if($q && mysql_num_rows($q) > 0) { 
            $kelimeler = array(); 
            while($row = mysql_fetch_assoc($q)) { 
                $kelimeler[] = '<li>' . $row['uye_kullaniciadi'] . '</li>'; 
            } 
             
            echo implode("\n", $kelimeler); 
        } 
    }
    fakat çalışmadı.Buradaki $alici_kim inputdaki name bölümü.LIKE Kısmına orayı yazmamak mı lazım tam anlamadım.
  • 25-09-2010, 15:12:51
    #9
    Üyeliği durduruldu
    jacksparov adlı üyeden alıntı: mesajı görüntüle
    o kadarını anlamıştım.Fakat yinede çalışmadı.Şöyle bir kod oldu...

    function oneriler() { 
        require('config.php'); 
    
        $alici_kim = mysql_real_escape_string($_GET['alici_kim']); // $k = $kelime; 
         
        $q = mysql_query("SELECT * FROM `uye` WHERE `uye_kullaniciadi` LIKE '{$alici_kim}%'"); 
         
        if($q && mysql_num_rows($q) > 0) { 
            $kelimeler = array(); 
            while($row = mysql_fetch_assoc($q)) { 
                $kelimeler[] = '<li>' . $row['uye_kullaniciadi'] . '</li>'; 
            } 
             
            echo implode("\n", $kelimeler); 
        } 
    }
    fakat çalışmadı.Buradaki $alici_kim inputdaki name bölümü.LIKE Kısmına orayı yazmamak mı lazım tam anlamadım.
    ben denemedim ama

    SELECT * FROM `uye` WHERE `uye_kullaniciadi` LIKE
    bu kısımda ` işaretlerini kaldırıp denermisiniz.

    SELECT * FROM uye WHERE uye_kullaniciadi LIKE
    bunun gibi