2016-03-22 25 views
0

ile çalışır Bazı özel PHP kodlamasına sahip bir WordPress sitem var. Neyin değiştiğini bilmiyorum, ancak otomatik tamamlama alanımın artık düzgün çalışmadığını fark ettim.jQuery Otomatik Tamamlama yalnızca UPPER CASE

Oyuncu adı yazdığım ve üç karakter girdikten sonra, seçim yapmak için veritabanından olası eşleşmelerin bir listesini aldığım bir form alanım var. Bugün farkettim, hala çalışıyor ama sadece player2 alanına yazarken tüm UPPER CASE harflerini kullanmam durumunda. Normal harfleri kullanırsam, arama teriminden bağımsız olarak her zaman veritabanından ilk 10 kaydı alırım. Garip!!! Burada

<script type="text/javascript"> 
    jQuery(document).ready(function($){ 
     $('#player2').autocomplete({ 
      source:'/wp-content/themes/canvas-child/suggest-pid2.php', 
      minLength:2, 
      autoFocus: true, 
      select: function (event, ui) { 
        // Set autocomplete element to display the label 
        this.value = ui.item.playername; 

        // Store value in hidden field 
        $('#PlayerID').val(ui.item.value); 

        // Prevent default behaviour 
        return false; 
      } 
     }); 
    }); 
</script> 

Ve db geri kayıtlara ulaşmak benim arama kodudur: Burada

benim form jquery kodu

<?php 

// get search term (player name or surname) 
$term = $_REQUEST['term']; 

if (isset($term)) {  


    $dblink = mysql_connect('localhost', 'un', 'pw') or die(mysql_error()); 
    mysql_select_db('db'); 
    $sql = "SELECT " . 
      "P.PlayerID, P.PlayerName, P.PlayerSurname, C.CityName, " . 
      "DATE_FORMAT(P.PlayerDateOfBirth, '%Y') AS PlayerYearOfBirth " . 
     "FROM players P " . 
      "LEFT JOIN cities C ON C.CityID = P.CityID " . 
     "WHERE P.PlayerName LIKE '" . $term . "%' " . 
      "OR P.PlayerSurname LIKE '" . $term . "%' " . 
     "ORDER BY P.PlayerName, P.PlayerSurname ASC LIMIT 0,10;"; 


    // Important - UTF-8!!! 
    mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $dblink); 
    $rs = mysql_query($sql, $dblink); 
    $data = array(); 
    if ($rs && mysql_num_rows($rs)) {  
     while($row = mysql_fetch_array($rs, MYSQL_ASSOC)) {   
      $data[] = array(   
      'label' => $row['PlayerName'] .' '. $row['PlayerSurname'] .' ('. $row['PlayerYearOfBirth'] .'), '. $row['CityName'] ,    
      'value' => $row['PlayerID'] ,    
      'playername' => $row['PlayerName'] .' '. $row['PlayerSurname']   
      );  
      }} 
    echo json_encode($data); 
    flush(); 

} 
?> 

Herhangi bir fikir?

cevap

0

sıfırdan dosyayı yeniden ve şimdi çalışıyor yapmak büyük harfe dönüştürmek olabilir. Neyin yanlış olduğuna dair bir fikrim yok, ama php dosyasının bozuk olduğu anlaşılıyor. Şimdi çalışıyor.

0

Sen dize sorgu

+0

Denedim ama bu işe yaramıyor. Arama terimi küçük harfle girilmiş gibi görünüyorsa boş dize olarak tanınır. – gdolenc

İlgili konular