Загрузка...

Js + mysql

Thread in Programming created by ma110y Jan 17, 2018. (bumped Jan 17, 2018) 242 views

  1. ma110y
    ma110y Topic starter Jan 17, 2018 Недокодер/Недодизайнер 149 Jun 16, 2017
    Есть код живого поиска на JS

    Code

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

    $("#search").autocomplete({
    source: langs
    });

    });

    Мне нужно создать массив в JS из моей таблицы mysql. Порылся в инете. Нашел такой способ

    <?
    $result = mysql_query("SELECT city FROM city ");
    $myrow = mysql_fetch_array($result);
    ?>
    <script>
    var langs = <?php echo json_encode($myrow); ?>
    </script>
    но он не работает.
    Что можно сделать или что не правильно?
     
  2. Zamba_inactive363280
    Zamba_inactive363280 Apr 5, 2018 Первый тост — за локалхост 3 Apr 4, 2018
    Рекомендую создать два файла: первый php, в котором идет выборка из mysql, и второй - сам шаблон в котором есть т.н. Дырки под переменные.
    Выглядеть это будет как-то так
    .php
    Code

    $rows = json_encode($array);
    $template = file_get_contents("file.html");
    //MYQUOTE - особые кавычки называются heredoc
    echo(eval(<<MYQUOTE {$template} MYQUOTE;));
    .html
    Code

    <script>
    var a = {$rows};
    <\script>
    Выполняется очень быстро, главное фильтровать весь пользовательский ввод, чтобы никто не смог подставить php функцию в код внутри eval()
    За точность скрипта не ручаюсь, тк пишу с телефона, но направление примерно такое.
    Альтернативным (и лучшим) вариантом, будет получать эти данные через AJAX
     
Top
Loading...