Значения кэширования браузера MySQLin

0

Я создаю сайт, на котором пользователь вводит свою позицию (это могут быть только те, которые хранятся в моей базе данных). Чтобы сделать его удобным для пользователя, я хочу показать ему доступные варианты позиций, когда он набирает позиции. Есть ли способ кэшировать все значения в SQL (от 30 до 40) в браузере заранее, чтобы пользователь мог видеть их во время ввода.

  • 1
    Как насчет использования AJAX?
  • 0
    я хочу сделать это без AJAX
Показать ещё 1 комментарий
Теги:
browser
web-applications

1 ответ

0

Вы можете запросить свою базу данных через PHP и большинство других серверных скриптов и вызвать их через ajax. Вы также можете использовать чистый javascript с новыми спецификациями html5 (но в настоящий момент они поддерживаются только в браузерах webKit).

Если вы хотите сделать это без ajax, вы можете получить значения, когда пользователь обращается к странице и помещает их в массив javascript. Таким образом, когда компьютер читает javascript, пользовательские значения уже существуют. Проблема с этим meathod заключается в том, что это значительно замедлит время отклика ваших веб-сайтов.

Пример: (php/pesudocode)

<?php
    $options = $mysql->getOptions();   // This is the pesudo-code bit.

    echo 'options = [';

    foreach ( $opt in $options )
    {
        echo '"' . $opt.name . '"' . ',';
    }

    echo '];"
?>

Это дает что-то вроде

options = [ "opt1", "opt2", "opt3", ];

который следует читать как массив в javascript. Единственная проблема заключается в дополнительной запятой, но вы должны быть в состоянии решить эту проблему достаточно просто. (и firefox даже не предупредил)

  • 0
    json_encode - ваш друг для превращения php-массивов в JS-массивы
  • 0
    echo "var options = " . json_encode($mysql->getOptions()) . ";\n" же самое, без запятой, в 1 строке ...
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню