Сообщение от Atridies
|
Везде в примерах - идет запрос к некому файлу *.php (если я правильно понимаю - это скрипт php, собственно - драйвер БД).
|
Нет, файлы скрипты языка серверного, в данном случае РНР, никакого отношения к драйверам базы не имеют. РНР, это серверный язык, на котором пишутся сценарии выполняемые на сервере, сами .php файлы являются исполняемыми файлами (это указывается в конфигурации сервера).
Баз данных существует много, частое использование MySQL обусловлено не тем, что это лучшее решение, а тем, что это одна из бесплатных баз (она осталась такой даже после того как ее прибрала к рукам Oracle).
РНР имеет набор функций для работы с различными базами, а эти функции как раз и есть расширение/драйвер для соответствующей базы. Они находятся в каталоге ext расширений РНР, и например для работы с MySQL из этого каталога должна быть подключена библиотека php_mysql.dll. Но как говорилось ранее, с версии РНР 5.5.0 она не рекомендуется (интерпретатор будет выдавать сообщения), и рекомендуют либо mysqli (библиотека - php_mysqli.dll), либо PDO MySQL (библиотека - php_pdo_mysql.dll).
Данные библиотеки, в зависимости от выбора, подключаются в файле php.ini. Но в случае хостинга хостер зачастую уже подключает php_mysql.dll, а драйверы для mysqli или PDO MySQL нужно подключать самому. Но это делается не через php.ini в явном виде (хост к данному файлу дает доступ редко и не по всем настройкам, если конечно не случай VPS), а через панель управления хостом, в котором нужно выбрать модули (расширения) необходимые для работы, в том числе и эти драйверы (один из них). После сохранения выбора они будут прописаны в php.ini.
И уже в зависимости от выбранного расширения для работы с MySQL в сценариях РНР пишут запросы и их обработку
функциями соответствующего расширения.
РМА - это инструмент для администрирования баз данных, то есть в нем можно непосредственно создавать/удалять базы данных, создавать/удалять в базе таблицы, видеть их параметры и изменять их, и .д.. Подключениями расширений РМА не занимается.
Сообщение от Atridies
|
"серверному скрипту который и должен содержать запрос". Этот файл не является каким-то стандартным? Я его самостоятельно должен написать на PHP?
|
Естественно все сценарии сервера на серверном языке пишите вы, также как и js-сценарии нужные вам на клиенте вам придется писать самому. Иначе, если вы этого не можете, то пишите техническое задание и ищите исполнителя за плату. Есть готовые движки, те же CMS, и если подходит, можете взять готовое (есть и бесплатные). Чего-то стандартного просто в принципе быть не может, если говорить глобально. Стандартными можно назвать операции по той же выборке данных из базы, то есть нечто на низком уровне, еще что-то, но чтобы скрипт "раскрасил таблицу в горошек", для этого в нем такая возможность должна быть описана программно, это уже не стандартное желание.
Сообщение от Atridies
|
Т.е. правильно я понимаю: с клиента идет запрос на *.php файл, который преобразует этот запрос в определенный запрос к БД (вида "SELECT...") ?
|
Да, например запрос к my.php, в котором запрос (для простоты пусть оригинальный MySQL):
if($q = mysql_query("SELECT * FROM interface ORDER BY datarate")) {
//здесь получение строк записей из возвращенного ресурса $q
//для просто поместить эти данные на клиенте в таблицу, достаточно индексного набора
if(mysql_num_rows($q)) {
$a = [];
while ($r = mysql_fetch_row($q)) $a[] = array_map('htmlspecialchars', $r);
//выдача данных клиенту
//сайт должен работать в UTF, так как только с этой кодировкой работает json_encode
//хотя можно прибегнуть к конвертированию, но это лишняя и неоправданная нагрузка
echo json_encode($a);
} else { //иначе база данных не содержит записей }
} else {
//в случае ошибки запроса к базе
}
где, mysql_query - функция делающая запрос к базе и она есть часть библиотеки php_mysql.dll. Читайте по ссылке о функциях РНР для работы с базами данных (соответственно выбранного расширения).
На клиенте по получению данных (метод
.ajax()):
success: function(data){
if(!!data) {
//будем считать, что таблица имеет описанный заголовок колонок ее в THEAD, а данные помещаются в TBODY, и таблица имеет id="mytable"
var t = $('#mytable tbody').empty(), r;
while(r = data.pop()) t.prepend('<tr><td>' + r.join('</td><td>') + '</td></tr>');
}
}