Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 17.01.2016, 18:21
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Atridies
И, кстати, я проверял: сайт компэла - действительно не дает запрос на сервер при пересортировке.
Вы уверены в этом, в чем и как вы это определили?
Ответить с цитированием
  #22 (permalink)  
Старый 17.01.2016, 18:26
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

Параметры
_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 таблицу отдает.
Ответить с цитированием
  #23 (permalink)  
Старый 17.01.2016, 19:21
Новичок на форуме
Отправить личное сообщение для Atridies Посмотреть профиль Найти все сообщения от Atridies
 
Регистрация: 15.01.2016
Сообщений: 9

Сообщение от laimas Посмотреть сообщение
Вы уверены в этом, в чем и как вы это определили?
Я проверял это так: грузишь страницу, запускаешь wireshark и нашимаешь -сменить выборку. Таблица меняется, а запроса - нету.

По нажатию "Источники питания" - да, грузится таблица. А если внути таблицы сделать выборку по питанию - то запроса не будет.
Ответить с цитированием
  #24 (permalink)  
Старый 17.01.2016, 19:29
Новичок на форуме
Отправить личное сообщение для Atridies Посмотреть профиль Найти все сообщения от Atridies
 
Регистрация: 15.01.2016
Сообщений: 9

Сообщение от laimas Посмотреть сообщение

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

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

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

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


Поставить на хостинге сервер, отдающий HTML - проблем не составит. Он у меня есть.
Ответить с цитированием
  #25 (permalink)  
Старый 17.01.2016, 19:45
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

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

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

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

Если же серьезно, то нужно описать данные, именно формат их, а уж затем вопрос как делать. Вот только смотря что за данные и что именно нужно, ибо написать на JS, которого вы не знаете, что-то, о чем тоже представление смутное, это не проще.
Ответить с цитированием
  #26 (permalink)  
Старый 17.01.2016, 19:55
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Atridies
Мне сформировать гербер-файлы из альтиум - тоже очень просто, а вы будете разбираться несколько недель.
Я тоже увлекался электроникой и работал по этой специальности. Это к тому, что человеку подвластно освоение много, но при условии, если он этого захочет.
Ответить с цитированием
  #27 (permalink)  
Старый 17.01.2016, 20:11
Новичок на форуме
Отправить личное сообщение для Atridies Посмотреть профиль Найти все сообщения от Atridies
 
Регистрация: 15.01.2016
Сообщений: 9

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

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



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

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


Представьте: вы в Индии в городе вдруг придавило в туалет. Вам надо сказать: "где туалет" на хинди. А вам предлагают изучить грамматику и расстановку знаков препинания на хинди....
Ответить с цитированием
  #28 (permalink)  
Старый 17.01.2016, 20:35
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от 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(), это параметры выбранных фильтров, собственно поля формы, которые будут отправлены для сервера как массив - имя поля как ключ => значение поля. Как делать запросы к базе вы знаете.

Эта часть вам неизвестная как раз очень проста.
Ответить с цитированием
  #29 (permalink)  
Старый 14.02.2016, 01:53
Новичок на форуме
Отправить личное сообщение для Atridies Посмотреть профиль Найти все сообщения от Atridies
 
Регистрация: 15.01.2016
Сообщений: 9

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

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

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

Заранее спасибо за ответы.
Ответить с цитированием
  #30 (permalink)  
Старый 14.02.2016, 09:16
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от 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().

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

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

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

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Скрипт выбора плеера Artyom91 Элементы интерфейса 5 27.04.2013 14:09
Скрипт случайного выбора при загрузке страницы dzhigora Общие вопросы Javascript 6 30.09.2012 00:44
скрипт для выбора серий и сезонов vk Evkliptik Общие вопросы Javascript 0 23.09.2012 16:10
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Экспорт базы данных с сайта на мой реальный комп Golovastik Серверные языки и технологии 2 26.02.2011 21:46