Настройка серверной части 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.

Мне очень понравилось работать над этим проектом, и я получил новые навыки. Я надеюсь, что эта статья помогла вам разобраться в некоторых основах этого процесса.