Mysql
 sql >> база данни >  >> RDS >> Mysql

Twitter bootstrap typeahead връща множество стойности и попълва полето за редактиране

Ако съм ви разбрал правилно, вие получавате резултати, но не можете да попълните полетата за въвеждане. Въпреки че не използвам Twitter Bootstrap typeahead, правя нещо много подобно с функцията за автоматично довършване на jQuery. Кодът по-долу не е тестван и, разбира се, ще трябва да го модифицирате сами, но се надяваме, че ще ви помогне.

Вижте тази работеща демо на jsFiddle за нещо подобно.

PHP

$array = array();
while ($row = mysql_fetch_assoc($sql)) {
    array_push($array,array('ContactName'=>$row['ContactName'],'Telephone'=>$row['Telephone'],'Email'=>$row['Email']));
}
echo json_encode($array);


Можете да проверите какво се връща, като въведете ръчно URL адреса (напр. yoursite/Customer.php?query=SomeContactName). Трябва да видите нещо подобно на това:

[{"ContactName":"Some Contact","Telephone":"5555555555","Email":"[email protected]"},
 {"ContactName":"Some Other Contact","Telephone":"5555555555","Email":"[email protected]"}]


HTML/Javascript

<script>
    $('input.typeahead').typeahead({
        source: function (query, process) {
            $.ajax({
                url: 'Customer.php',
                type: 'POST',
                dataType: 'JSON',
                // data: 'query=' + query,
                data: 'query=' + $('#contactName').val(),
                success: function(data)
                {
                    var results = data.map(function(item) {
                        var someItem = { contactname: item.ContactName, telephone: item.Telephone, email: item.Email };
                        return JSON.stringify(someItem.contactname);
                    });
                    return process(results);
                }
            });
        },
        minLength: 1,
        updater: function(item) {
            // This may need some tweaks as it has not been tested
            var obj = JSON.parse(item);
            return item;
        }
    });
</script>

Ето няколко други публикации, които може да искате да разгледате Как да върнете отговора от AJAX обаждане? и Bootstrap typeahead ajax резултатен формат - Пример




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL GROUP чрез или използвайки PHP?

  2. Съединяване на таблици въз основа на максималната стойност

  3. Изтрийте няколко реда, като поставите отметка в квадратчетата с PHP

  4. Максимална дължина на името на таблица в MySQL

  5. Свържете се с mysql на Amazon EC2 от отдалечен сървър