Настройка серверной части PHP, прием переменных JavaScript в PHP и обработка вывода
Недавно я приступил к работе над проектом, который требовал, чтобы я отображал результаты более 950 тестов и анализировал результаты. Мне также требовалось сохранять данные каждого прогона в базе данных MySQL, а затем отображать графики на основе данных из предыдущих прогонов. Я написал все это на Python. Привести результаты тестов в аккуратную форму было довольно просто. Однако проблема для меня заключалась в том, что и JavaScript, и PHP мало написали ни на одном из языков.
Первое, что нужно сделать, это установить соединение с вашей базой данных MySQL:
Следующий файл php, который я написал, был файлом, который проверяет, какие таблицы есть в моей базе данных, и если он не находит таблицу с именем «запускает», он ее создает.
Теперь, что очень круто в php, это то, что эти маленькие модульные фрагменты кода разбросаны по разным файлам и могут использоваться в вашем основном коде. Обратите внимание, что в create_db.php
используется переменная $link
, которая была определена в connection.php
. Итак, эти два файла будут работать, только если они будут вызваны по порядку. Вы вызываете и выполняете скрипты php, используя ключевое слово «include». Итак, из другого файла php мы сделаем следующее:
<?php include ‘connection.php'; include ‘create_db.php'; ?>
Я написал HTML и JavaScript, которые отображали данные. Я продолжал использовать небольшие блоки кода в файлах php для выполнения различных запросов MySQL и возврата разных графиков.
Здесь функция Javascript вызывается каждый раз, когда раскрывающееся меню изменяется в HTML и выбирается другой график. В зависимости от выбора выполняется другой файл php. В основном они следуют одному и тому же процессу; выполнить запрос MySQL и использовать полученные данные, чтобы нарисовать график и вставить его в цель <div>
. Я добавляю сюда наугад:
Поскольку этот php-файл включен в функцию JavaScript, нет необходимости в дополнительных <script>
флагах. Запрос MySQL возвращается в массиве JavaScript, затем этот массив добавляется к стандартному вызову API визуализации Google.
Теперь круто ... для некоторых графиков пользователь выбирает фильтры, поэтому вызов MySQL не был статическим. Для этих графиков нам нужно использовать JavaScript для отправки переменной в файл php. В следующем примере показана функция, которая вызывается, когда пользователь изменяет значение на ползунке в HTML.
Здесь функция updategraph
принимает два аргумента. slider
- это новое значение ползунка, а id
- это идентификатор ползунка. id
- это имя файла php без бита «.php». Чтобы отправить значение ползунка на php, мы используем функцию $.ajax
, которая использует. Здесь установлен тип POST
, URL-адрес id
+ ‘.php’, данные - это значение ползунка, и здесь мы называем его runs
. Затем есть функция успеха, которая обрабатывает вывод php-вызова.
Моя функция успеха может показаться странной, поскольку я мог бы просто использовать функцию eval()
для преобразования строки php обратно в массив, но я много читал о том, как осторожно использовать эту функцию при работе с запросами MySQL, поскольку они могут использоваться для повреждения данных . Это, вероятно, излишне осторожно, но я split
и replace
, чтобы добраться до данных. Затем я вставляю эти данные в вызов API визуализации Google.
В файле php мы добавляем эту переменную в строку $_POST['runs']
. Затем я использовал echo
для вывода данных из запроса MySQL. Это то, что выбирается функцией успеха в функции JavaScript.
Мне очень понравилось работать над этим проектом, и я получил новые навыки. Я надеюсь, что эта статья помогла вам разобраться в некоторых основах этого процесса.