Как мне получить скрипт PHP для подачи данных в JQuery Autocomplete? - PullRequest
7 голосов
/ 30 июня 2011

У меня есть следующие данные, которые в настоящий момент подают JQuery Autocomplete

 var network_autocomplete=[
                "ActionScript",
                "AppleScript",
                "Asp",
                "BASIC",
                "C",
                "C++",
                "Clojure",
                "COBOL",
                "ColdFusion",
                "Erlang",
                "Fortran",
                "Groovy",
                "Haskell",
                "Java",
                "JavaScript",
                "Lisp",
                "Perl",
                "PHP",
                "Python",
                "Ruby",
                "Scala",
                "Scheme"
            ];

            $( "#network" ).autocomplete({
                source: network_autocomplete
            });

Мне нужно изменить это, чтобы получить массив результатов со страницы php. Может ли кто-нибудь помочь мне изменить это, чтобы я мог в JavaScript сделать это?

network_autocomplete=data

В настоящее время код извлекает данные из таблицы SQLite следующим образом:

try {
    $db = new PDO('sqlite:/tmp/bacnet.db');
    $query = "SELECT net, name,  FROM network";

    foreach ($db->query($query) as $row) {
        $networks[] = array('net' => $row['net']);
    }

    echo json_encode($networks);
    return json_encode($networks);
} catch (PDOException $e) {
    echo json_encode(array('message' => 'Could not connect to the database'));
}

Ответы [ 3 ]

1 голос
/ 30 июня 2011

Измените $networks[] = array('net' => $row['net']); на
$networks[] = $row['net']; И вы не должны иметь возврата, если это не функция (а если это функция, то почему у нее эхо?)

0 голосов
/ 13 октября 2011

Вы можете сделать следующее:

<?php
$values = array("'foo'", "'bar'", "'baz'"); ?>

<script>
    $(function() {
        var network_autocomplete = [
          <?php echo join(",", $values) ?>
        ];
    ...
</script>
0 голосов
/ 13 октября 2011

То, что я делаю, когда мне это нужно, - это положить PHP прямо в javascript, поэтому

foreach ($db->query($query) as $row) {
   $networks[] = '{ label: "blah", value: "' . $row['net'] . '" }';
}
$autocomplete = implode(",",$networks);

Тогда внутри скрипта вы можете сделать,

var network_autocomplete = [$autocomplete];
$( "#network" ).autocomplete({
    source: network_autocomplete
});

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...