Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Простой скрипт выбора из базы данных. (https://javascript.ru/forum/dom-window/60705-prostojj-skript-vybora-iz-bazy-dannykh.html)

Atridies 15.01.2016 15:57

Простой скрипт выбора из базы данных.
 
Здравствуйте!

Требуется создать простой скрипт параметрического выбора из базы данных. Чем-то похоже на выбор в интернет-магазине, но с бОльшим количеством выбираемых параметров. Вот похожий аналог:
http://www.compel.ru/catalog/interface/rs485-422

Вопрос №1: Может быть есть уже готовые скрипты под это?

Если готового нету, то надо писать своё.
Мне видется такая мысль - в отдельном файле лежит сама база (она подгружается вместе со страницей), а дальше - в зависимости от параметров выбора - переформируется таблица.


Вопрос №2: Как переформировать полностью таблицу по скрипту?
Вопрос №3: В каком формате сохранить базу данных, чтобы подгрузить ее потом, и достучаться до нее - из javascript.ru


Заранее спасибо за ответы.

laimas 15.01.2016 17:00

Цитата:

Сообщение от Atridies
Мне видется такая мысль - в отдельном файле лежит сама база (она подгружается вместе со страницей)

База данных да, это файлы, но обрабатываются движком соответствующим, и вместе со страницей никогда не подгружаются. Выбор параметра фильтра, это асинхронный запрос на сервер, который делает запрос в базу и возвращает данные в json формате. Клиент по этим данным строит таблицу и помещает ее в документ.

DynkanMaclaud 15.01.2016 21:04

Тут по сути ничего сложного... надо знать ajax и основы php...

Atridies 16.01.2016 11:25

А какого-нибудь примера, или готового решения - нету ?

laimas 16.01.2016 12:34

Цитата:

Сообщение от Atridies
А какого-нибудь примера, или готового решения - нету ?

А что вы хотите в качестве примера?

DynkanMaclaud 16.01.2016 15:35

Atridies,
есть другой вариант без ajax, это загружать с БД всю таблицу со всеми полями, а js уже по событиям выводить нужные поля...

laimas 16.01.2016 16:35

Цитата:

Сообщение от DynkanMaclaud
есть другой вариант без ajax, это загружать с БД всю таблицу со всеми полями

А не жирно будет? :)

DynkanMaclaud 16.01.2016 17:17

Цитата:

Сообщение от laimas
А не жирно будет?

Всмысле?)

laimas 16.01.2016 17:21

По ссылке пример посмотреть ..., а ведь база может вернуть весьма впечатляющий объем нефильтрованных данных. А уж отдавать клиенту таблицу базы да еще со всеми ее полями, структуру таблицы что-ли? Такого не стоит делать.

DynkanMaclaud 16.01.2016 17:49

Пример я посмотрел, ничего объемного там не нашел))а что касается данных которых база вернет, то смотря какой запрос делать)))

laimas 16.01.2016 17:53

Это просто пример "типа такого нужно", а сколько будет реально неизвестно.
Не важно какой запрос, вы же предлагаете все скопом на клиента скинуть.

DynkanMaclaud 16.01.2016 17:59

конечно сервер не гарантирует получение данных в том порядке в которых вы их ввели в БД, но тогда в чем проблема завести счетчик по id и сортировать по id ?

Atridies 16.01.2016 19:14

Нее, база там будет не особо большая. И первая моя идея - была как раз - отдавать всю таблицу, а потом уже js, чтобы отбирал необходимое.
Выдать пользователю всю базу - тоже нет проблем, пущай смотрят.

Мне просто хотелось бы уменьшить писанину этого. С ajax - мне не разобраться быстро. Идеально было бы, если бы сервак отдавал статические данные, а на стороне клиента - уже все делалось.

Вопрос: как мне тогда перезаполнить таблицу по событию? Как само событие перехватить я знаю. А вот как перестроить таблицу. Мне ее надо перестраивать ? Но откуда тогда брать источник? Или перестраивать прямо то, что уже есть на странице?


P.S. Прошу простить, я в js - как-то совсем дуб дубом. Сам инженер-электронщик: на бейские писал, на сях, на ассемблере, на дельфях... Но с js - как-то много вопросов, ибо язык имеет другую идеологию.


P.P.S. Во какая идея рождается: первоначально дается полная таблица, а после нажатия - прямо на лету осуществляется сортировка таблицы и в зависимости от параметров - меняются строки местами (реализация сортировки).
Такое проканает ?

DynkanMaclaud 16.01.2016 22:22

https://jsfiddle.net/1rev1rmv/1/

Вот небольшой пример, есть колонка с чекбоксами , есть колонка с таблицей... Самовызывающаяся функция перебирает все чекбоксы получает от каждого его data-item , далее перебирает всю шапку таблицы и получает от каждого name, если нашел совпадение проверяет чекнут ли чекбокс, false -> колонку в шапке скрывает и перебирает все tr где находит td соответствующего номеру колонки в шапке и скрывает его тоже...
Такой же принцип и у функции которая вызывается по клику на чекбоксы

DynkanMaclaud 16.01.2016 22:24

Я уверен что laimas,
в силах упростить этот скрипт...))))):help:

laimas 17.01.2016 06:52

Цитата:

Сообщение от Atridies
Идеально было бы, если бы сервак отдавал статические данные, а на стороне клиента - уже все делалось.

Предлагаю сесть и подумать, что значит "сервак отдавал статические данные". Это, если понятие буквальное, статичный html-файл, один, в котором все, от разметки всей страницы, до данных "типа база". Другими словами базы как таковой нет.

Не надо заниматься ерундой когда есть готовое, нужно только научиться использовать это. Да, можно организовать базу данных на клиенте, и не надо ничего мудрить с localStorage, есть готовые решения. Но, они не обладают теми возможностями, которые изначально заложены в СУБД, а значит это нужно будет писать самому, и как вы это будете делать не зная даже простейшего из JS? Или вы думает, что написать такое проще чем написать ajax-запрос? Это заблуждение.

Открывайте отладчик браузера и контролируйте сеть, просматривая пример по вашей ссылке. Это и есть ответ на ваш вопрос как сделать - клиент отправляет запрос серверу как набор параметров фильтра, SQL нужно лишь сделать единственный запрос согласно этим параметрам. Результаты запроса возвращаются как json. Из этих данных клиент строит таблицу.

DynkanMaclaud 17.01.2016 13:08

laimas,
Я думаю что Atridies сделает всю таблицу в html (не будет он её из БД загружать) а на js уже реализует фильтры...)) ибо молод он для php и ajax)

Atridies 17.01.2016 17:22

Цитата:

Сообщение от DynkanMaclaud (Сообщение 404037)
laimas,
Я думаю что Atridies сделает всю таблицу в html (не будет он её из БД загружать) а на js уже реализует фильтры...)) ибо молод он для php и ajax)

За "молод", спасибо :).

Тут вопрос в том, что для каждой задачи - есть свое оптимальное решение. Наверное с ajax - это более правильно. Но мне не хочется тратить время на его изучение (ибо мне это мало где пригодится в жизни), а кроме того, это потребует поднятия на сервере БД, установки серверного js, разбирательства в том, как это поставить на хостинге.

На первом этапе - для меня наиболее оптимально: сделать статическую страницу и перебирать ее на стороне клиента.

По мере роста проекта - переделаю это. Точнее - закажу специалисту и он - сделает как надо.


Еще спасибо за пример. Я там пока мало что понял, но это дело времени. Вещица полезная.


И, кстати, я проверял: сайт компэла - действительно не дает запрос на сервер при пересортировке. Так что похоже он также сделан...

DynkanMaclaud 17.01.2016 17:33

Цитата:

Сообщение от Atridies
действительно не дает запрос на сервер при пересортировке

а как вы это поняли?

laimas 17.01.2016 18:08

Цитата:

Сообщение от DynkanMaclaud
на js уже реализует фильтры...)) ибо молод он для php и ajax)

Ну да, а судя по теме он специалист в JS, и написать выборку по фильтрам и сортировку по условиям ему как два пальца ..., в чем вы его упорно поддерживаете? :)

Мне все равно как он сделает, но если речь идет о некой базе, то это и должна быть СУБД, не надо ее подменять расплывчатыми понятиями ради сомнительных идей. СУБД, это не просто хранение данных, это их сопровождение, что подразумевает большой спектр понятий. Именно данные конкретной СУБД и будут определять дальнейший скелет веб приложения. Но даже не зная, что скрывается за страшной аббревиатурой СУБД, ему никто не мешает задать вопрос относительно ее - как сделать выборку данных по условиям, ответ будет короткий:

SELECT require_fields, filter_keys FROM table WHERE filter_keys=>filter_values ORDER BY filter_sort

СУБД под приложение проектируют так, чтобы данные в ней были оптимизированы, в частности, если по примеру, то производителей лучше хранить в отдельной связанной таблице, как и некоторые характеристики, которые могут распределять изделия описанные в СУБД по неким классам. Тогда запрос дополнится всего лишь вложенным запросом/запросами для объединения таблиц:

SELECT require_fields, filter_keys FROM table_name
LEFT JOIN table_property
join_conditions
WHERE filter_keys=>filter_values ORDER BY filter_sort

где join_conditions условия по равенству полей, по которым происходит объединение данных в запросе. Все остальное это:

require_fields - поля SQL таблицы, которые должны быть всегда отображаться на клиенте не зависимо от параметров фильтра, если такое необходимо,

filter_keys - ключи массива filter параметров фильтра полученного от клиента и определяющие запрашиваемые поля SQL таблицы,

filter_keys=>filter_values - ключи->значения массива filter параметров фильтра определяющие условия выборки, если это необходимо и выбрано,

filter_sort - поля определяющие сортировку результата выборки данных.

Если при этом работать в PDO, то предварительная обработка полей массива filter перед передачей их в запрос не требуется - в качестве полей условий выборки подставляются именованные параметры :filter_key или неименованные (знак вопроса ?), а в качестве данных соответственно ассоциативный массив фильтра (как есть), или только его значения.

Отдать клиенту полученное при этом совсем просто - echo json_encode($pdo->fetchAll()). В случае работы непосредственно с MySQL, что настоятельно не рекомендуется разработчиком, будет добавлена предварительная обработка входных данных (параметров фильтра), а получение массива данных из записей, это цикл while.

И здесь больше моих слов, чем будет символов в реальном коде выборки данных из базы, который даже на средненьком форуме ему покажут. Мои слова ради объяснения того, что все просто. Если есть необходимость работать с базой на клиенте, то и в этом случае нужно работать с базой, а не localStorage в чистом виде, и для этого тоже уже есть готовое, не надо изобретать лисапеда. И только, если данные, это бублики с дырочками или без них, с маком или без него, и бублики будут вечны, можно рассуждать о плюшках, которые легко вписываются в нечто легкое для localStorage. Вот только по ссылке "типа этого" данные ну никак не вписываются в простоту, о которой вы утверждаете, значит вы не понимаете ни как подобные данные организуются, как связываются и как обслуживаются. А автору темы описывать свои конкретные данные, которые как он пишет будут просты до смешного, и забудет о понятие базы, и прописывает их сразу в js-файл объектом, или грузит единожды в localStorage, поступая по личному вкусу. Иначе получается, что ссылаются на серьезные темы, а разговор хрен знает о чем.

laimas 17.01.2016 18:21

Цитата:

Сообщение от Atridies
И, кстати, я проверял: сайт компэла - действительно не дает запрос на сервер при пересортировке.

Вы уверены в этом, в чем и как вы это определили?

laimas 17.01.2016 18:26

Вот запрос сервер при выборе параметра "Напряжение питания"

Параметры
_FV 8S-true
actCatalog filter-visible
eng SKp
fid 8S
page 1

Исходный код

fid=8S&actCatalog=filter-visible&_FV=8S-true&page=1&eng=SKp

А это маленький кусочек из json ответа сервера:

{"s":{"c":"Catalog","a":"filter-visible","t":49.796,"tl":null},"stat":"ok","filter ":"on","thead":"<thead
class=\"sorting\"><tr><td class=\"tc\">&nbsp;<\/td><td class=\"tc\"><a href=\"#\" data-act-catalog=
\"filter-show\" data-fid=\"_STOCK\" class=\"filter\"><img src=\"data:image\/png;base64,iVBORw

Как видно из ответа, сервер вообще готовую html таблицу отдает.

Atridies 17.01.2016 19:21

Цитата:

Сообщение от laimas (Сообщение 404069)
Вы уверены в этом, в чем и как вы это определили?

Я проверял это так: грузишь страницу, запускаешь wireshark и нашимаешь -сменить выборку. Таблица меняется, а запроса - нету.

По нажатию "Источники питания" - да, грузится таблица. А если внути таблицы сделать выборку по питанию - то запроса не будет.

Atridies 17.01.2016 19:29

Цитата:

Сообщение от laimas (Сообщение 404066)

СУБД под приложение проектируют так, чтобы данные в ней были оптимизированы, в частности, если по примеру, то производителей лучше хранить в отдельной связанной таблице, как и некоторые характеристики, которые могут распределять изделия описанные в СУБД по неким классам. Тогда запрос дополнится всего лишь вложенным запросом/запросами для объединения таблиц:

Я знаю, что такое СУБД. И даже знаю - как запросы строятся.

Но чтобы поднять ее на хостинге - у меня займет несколько недель. Чтобы разобраться как отдавать данные - еще столько же. Нет желания разбираться в этом. Я электронщик и делаю инструмент, удобный для себя как для электронщика.

Хочу сделать его как можно быстрее по времени и менее затратно по силам.

Возможно поставить базу и настроить с js - совсем не сложно. Но это несложно для спеца. Мне сформировать гербер-файлы из альтиум - тоже очень просто, а вы будете разбираться несколько недель.
Вот поэтому я ищу путь наименее сложный и наиболее дешевый на хостинге.


Поставить на хостинге сервер, отдающий HTML - проблем не составит. Он у меня есть.

laimas 17.01.2016 19:45

Цитата:

Сообщение от Atridies
Я проверял это так: грузишь страницу, запускаешь wireshark и нашимаешь -сменить выборку.

Жмем F12 в браузере и контролируем сеть, и это покажет что вы глубоко заблуждаетесь, что все происходит само собой на клиенте.

Цитата:

Сообщение от Atridies
Я знаю, что такое СУБД. И даже знаю - как запросы строятся.

Но чтобы поднять ее на хостинге - у меня займет несколько недель.

Почему простые данные легко описать на клиенте, а вот занести их в базу, не важно какую, серверную, клиентскую ли, это неимоверные трудности? Это уже похоже на словоблудие. :)

Если же серьезно, то нужно описать данные, именно формат их, а уж затем вопрос как делать. Вот только смотря что за данные и что именно нужно, ибо написать на JS, которого вы не знаете, что-то, о чем тоже представление смутное, это не проще.

laimas 17.01.2016 19:55

Цитата:

Сообщение от Atridies
Мне сформировать гербер-файлы из альтиум - тоже очень просто, а вы будете разбираться несколько недель.

Я тоже увлекался электроникой и работал по этой специальности. Это к тому, что человеку подвластно освоение много, но при условии, если он этого захочет. ;)

Atridies 17.01.2016 20:11

Почему вы меня не слышите?

Занести данные в БД - не проблема совершенно. Важнее - что надо эту БД иметь на хостинге. А еще в том, что ее надо как-то связать с js.
Это всё для меня - задача, требующая времени.



Я знаю, что человеку подвластно многое, не надо из меня делать глупца. Вопрос для меня стоит не в этом, а в том, что ВСЕ ЗНАТЬ - нереально. И есть знания, полезные для меня, а есть - не очень. У меня список на изучение - чрезвычайно большой. И там нету ни js, ни ajax. Просто потому, что в моей специальности - это не требуется.
И если у меня будет свободная минута, я ее потрачу на изучение ядра linux, чем на js. Дело не в возможности, а дело - во времени.

Но вот незадача - я столкнулся с тем, что в определенных условиях я не могу работать также эффективно, как и раньше. В частности - при разработке оборудования из отечественных микросхем. Решил сделать для себя и не только - инструментарий, повышающий эффективность.
А вы мне предлагаете - изучить ajax...


Представьте: вы в Индии в городе вдруг придавило в туалет. Вам надо сказать: "где туалет" на хинди. А вам предлагают изучить грамматику и расстановку знаков препинания на хинди....

laimas 17.01.2016 20:35

Цитата:

Сообщение от Atridies
Важнее - что надо эту БД иметь на хостинге


А с этим какие проблемы? Хост для вас не проблема как вы пишите, так хост чей, собственный, кроме статичных html-файлов ничего не отдающий? Ну так разве проблема взять платный хост, что в общем то недорого, который представляет и возможность базы данных, и язык серверный?

Вы ведь тоже пишите такое, что ну прямо по космическим меркам не доступно. В вашем случае, если данные совсем просты, то "поднять базу" на сервере, это добавить ее имя в панели управления хостом и завести в ней таблицу. Все, что еще надо, а тем более что нет проблем заполнить ее данными и как это делается вам известно?

А ajax запрос это вообще смешно, и учить чего-то неподъемного вас никто не заставляет, подключайте jQuery, а в используйте метод $.ajax или если удовлетворит простое, то еще проще:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script> 
$(function() {
    $('form').submit(function() {
         $.post('url_запроса', $(this).serializeArray(), function(data) {
              //data содержит ответ сервера, в данном случае ожидается json-формат, и он сразу будет преобразован в объект, из которого остается получить данные, обрамить тегами элементов таблицы и...
         }, 'json')
    })
});
</script>


где, $(this).serializeArray(), это параметры выбранных фильтров, собственно поля формы, которые будут отправлены для сервера как массив - имя поля как ключ => значение поля. Как делать запросы к базе вы знаете.

Эта часть вам неизвестная как раз очень проста.

Atridies 14.02.2016 01:53

Прошу прощения, что пропал надолго.
Я разобрал Ваш код - он генерит POST-запрос к определенной странице не сервере.
Вопрос №1. К какой странице я должен сделать запрос? У меня есть доступ по FTP к файловой системе моего сайта, есть адрес админки SQL. Имени файла БД - я не знаю.

Вопрос №2. Как и где указать SQL-запрос в приведенном Вами примере?
Например вот такой: "SELECT * FROM interface ORDER BY datarate"

Вопрос №3. Как обрамить тегами ответ?

Заранее спасибо за ответы.

laimas 14.02.2016 09:16

Цитата:

Сообщение от Atridies
У меня есть доступ по FTP к файловой системе моего сайта

И не просто доступ, а полные права, естественно, что давать доступ клиентам к FTP на хостинге своем ни в коем случае нельзя, да и отвечать на запрос клиента будет некому.

Цитата:

Сообщение от Atridies
есть адрес админки SQL.

То же самое, что и по FTP - это святая святых, кроме вас доступа к этому ни у кого не должно быть. Да и РМА (phpmyadmin) не является средством общения с клиентом.

Цитата:

Сообщение от Atridies
Имени файла БД - я не знаю.

А этого и не обязательно знать (имя базы данных задает вы при ее создании, то есть вы это знаете, а вот имена файлов таблиц нет, хотя они будут именоваться по тем же именам, что задает вы, параметры подключения к базе, логин и пароль, вам даст хост ваш), обращение к файлам производит движок базы данных, ваша задача отправлять запросы в нее. Запросы же в БД будет отправлять серверный язык посредством драйвера базы данных с которой вы работаете. Для работы с базами данных у серверного языка существуют расширения (библиотеки). Если предполагается работа с базой MySQL, то нужно учесть, что расширение MySQL начиная с РНР 5.5.0 считается устаревшим, а в старших версиях исключено вообще. Вместо оригинального расширения MySQL рекомендуется использовать либо misqli, либо PDO MySQL. При этом в основе это все та же база MySQL, но работа с ней будет через иные драйверы, которые нужно будет подключить в панели управления на хосте.

Вот к серверному скрипту (исполняемому файлу), который и должен содержать запрос к базе "SELECT * FROM interface ORDER BY datarate", и должен обращаться клиент (Ajax запрос в данном случае). Что именно за файл, а также путь к нему (страница), к которой будет обращение, это уже вам решать согласно вашим задумкам. Тут вариаций может быть много.

Цитата:

Сообщение от Atridies
Как обрамить тегами ответ?

Все зависит от того в каком виде сервер вернет данных клиенту. Ранее говорилось о формате JSON, и в зависимости от задачи клиент может в итоге получить данные как объекты или как массивы, а значит в каждом конкретном случае построение таблицы может производиться различными способами.

Если данные для формы и их нужно связать с полями SQL таблицы, то это будут ассоциативный массив от сервера, а значит на клиенте будет объект. Для того чтобы поместить эти данные в таблицу в элементы формы нужно обойти их в цикле (методом .each() jQuery) и помещая свойство объекта в качестве имени для поля формы, а значение свойства в свойство value поля. Нужно отметить, что если данные из базы это строки, а тем более не являются доверенными, то на сервере их нужно обязательно обработать функцией htmlspecialchars().

Как в этом случае конкретно будет выглядеть код этот я затрудняюсь сказать, ибо для этого нужно знать конкретно не только структуру данных, но и то каким образом данные этой формы предполагается обрабатывать на сервере. Не охота чего-то написать общего, а потом долго утрясать мелочи.

Если же данные нужно только отобразить на клиенте, то с сервера достаточно получить многомерный индексный массив (стоит отметить, что его же будет достаточно даже в случае, если данные не просто для отображения, но и для полей формы, но это отдельный разговор). В этом случае тоже может быть много способов построения из них таблицы на клиенте, но это будет опять таки обход их циклом.

Если нужно что-то конкретно, поясните конкретно что к чему, ну или приведите пример того что нужно получить на клиенте с пояснением.

Atridies 14.02.2016 11:32

по поводу безопасности - да, я понимаю, что такие права нельзя никому давать.
Везде в примерах - идет запрос к некому файлу *.php (если я правильно понимаю - это скрипт php, собственно - драйвер БД).
Работа предполагается с MySQL.
Как подключить mysqli в phpMyAdmin - я не нашел.

"серверному скрипту который и должен содержать запрос". Этот файл не является каким-то стандартным? Я его самостоятельно должен написать на PHP?
Т.е. правильно я понимаю: с клиента идет запрос на *.php файл, который преобразует этот запрос в определенный запрос к БД (вида "SELECT...") ?

С сервера на страницу - достаточно вывести результат ответа за различные запросы в БД. Т.е. по запросу SELECT - выдается блок данных (таблица по сути) - вот ее бы и вывести. Этого будет вполне достаточно.

Вот пример ответа:
5559ИН13У2, НПО Физика, МКИО, 2-х пров., 1, 1, 0, Н04.16-1В, 16, нет, 0, 4.5, 5.5, -60, 125, АЕЯР.431230.591ТУ
5559ИН15У, Миландр, LIN2.1, LVTTL, 1, 1, нет, 20, Н02.8-1В, 8, да, 0, 5, 27, -60, 125, АЕЯР.431230.653ТУ
и т.д.

laimas 14.02.2016 12:49

Цитата:

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


Часовой пояс GMT +3, время: 04:20.