Показать сообщение отдельно
  #32 (permalink)  
Старый 14.02.2016, 12:49
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от 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>');  
       } 
  }

Последний раз редактировалось laimas, 14.02.2016 в 12:52.
Ответить с цитированием