Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.07.2013, 11:05
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Нубские sql вопросы
Доброго дня, котаны.

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

Второй вопрос, как сформировать строку запроса, если там есть несколько AND , количество которых зависит от запроса и может быть разное?

Ну и третье, может кто подскажет краткий справочник по всему этому с макс количеством практических примеров? А то везде в основном примеры на чистом sql, а практических мало, ну и нет возможности перерывать сейчас мотни страниц.
Ответить с цитированием
  #2 (permalink)  
Старый 10.07.2013, 11:37
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
нормальная ли практика
сейчас в моде MVC и прочее разделение обязанностей
все должно быть разделено -- роутинг, контроллеры, модели, шаблоны

Цитата:
как сформировать строку запроса, если там есть несколько AND , количество которых зависит от запроса и может быть разное
либо генерировать запрос самому конкатенацией строк, либо использовать "query builder" какой найдешь (я лично видел в orm doctrine2, в cms drupal и в фреймворке yii)
если будешь генерировать сам, не забудь использовать "prepare" (из mysqli или pdo) для вставки аргументов, полученных от пользователей (иначе схлопочешь sql-инъекцию)

Цитата:
краткий справочник по всему этому с макс количеством практических примеров
справочник по чему?
* pdo? там всего несколько методов и классов
* sql? "Learning SQL" by Beaulieu
Ответить с цитированием
  #3 (permalink)  
Старый 10.07.2013, 11:46
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

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

Сообщение от PashPP
Или обернуть родную страничку в какой-то иф, и если она вызывается без гетов, постов, то выдавать интерфейс, а если с чем-то, то результат запроса? Просто не знаю как у вас там в пхп положено.
Зачем мешать интерфейс и геты в кучу? Можно создать для запросов отдельный файл и назвать его, как ни странно, например: get.php

Сообщение от PashPP
не знаю как у вас там в пхп положено.
У кого, у вас? Как напишешь программу, так и будет.

Сообщение от PashPP
Второй вопрос, как сформировать строку запроса, если там есть несколько AND , количество которых зависит от запроса и может быть разное?
Сначала пишешь как умеешь, затем оптимизация. Все как обычно. Либо запрос неправильно составлен, раз там много этих AND. Либо формируй запрос на лету, только данные не забывай проверять(регами например).
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 10.07.2013 в 11:52.
Ответить с цитированием
  #4 (permalink)  
Старый 10.07.2013, 11:49
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от mta88
если будешь генерировать сам, не забудь использовать "prepare" (из mysqli или pdo) для вставки аргументов, полученных от пользователей (иначе схлопочешь sql-инъекцию)
И получишь неработающие запросы по причине, которую найдешь не сразу. Тот же LIKE покажет фигу и будет ругаться неприличными словами, а все потому что prepare со вставкой аргументов работать не будет. В остальном совет правильный, но для динамических запросов нереализуемый.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.

Последний раз редактировалось Gozar, 10.07.2013 в 11:51.
Ответить с цитированием
  #5 (permalink)  
Старый 10.07.2013, 11:50
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от mta88
сейчас в моде MVC и прочее разделение обязанностей
все должно быть разделено -- роутинг, контроллеры, модели, шаблоны
Звучит как
- мне нужен мопед
- купите космолет, они сейчас в моде.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #6 (permalink)  
Старый 10.07.2013, 12:07
Профессор
Отправить личное сообщение для mta88 Посмотреть профиль Найти все сообщения от mta88
 
Регистрация: 16.05.2013
Сообщений: 229

Цитата:
Тот же LIKE покажет фигу
да, есть такое

Цитата:
Звучит как
- мне нужен мопед
- купите космолет, они сейчас в моде.
ну я не имел ввиду сразу symfony2
если топикстатер захочет, напишет с нуля в одном файле
Ответить с цитированием
  #7 (permalink)  
Старый 10.07.2013, 12:13
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

mta88,
Спасибо.
Сообщение от Gozar
Поэтому ты хочешь, чтобы кто-то сделал это за тебя?
Да у тебя уже паранойя. Еще "Иди в Работу" вспомни.

Сообщение от Gozar
Зачем мешать интерфейс и геты в кучу? Можно создать для запросов отдельный файл и назвать его, как ни странно, например: get.php
Оки. Спасибо.
Сообщение от Gozar
У кого, у вас? Как напишешь программу, так и будет.
Ты же должен соображать, что мой вопрос адресован людям знающим, работающими с сбжем вот потому и выделил какой-то класс "вас".

Сообщение от Gozar
Либо запрос неправильно составлен, раз там много этих AND.
Хм. Ну он пока что и не составлен. Посмотрим.
Ответить с цитированием
  #8 (permalink)  
Старый 10.07.2013, 15:55
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от PashPP
Да у тебя уже паранойя
Нет это у тебя непонимание того, зачем нужен форум. http://phpclub.ru/faq/WhyForum
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #9 (permalink)  
Старый 13.07.2013, 15:42
Аватар для Tim
Tim Tim вне форума
Профессор
Отправить личное сообщение для Tim Посмотреть профиль Найти все сообщения от Tim
 
Регистрация: 05.06.2009
Сообщений: 1,703

Цитата:
Да у тебя уже паранойя.
Есть немного, но его это не смущает
__________________
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.
Самые главные в жизни вещи - не вещи! (было написано на одном гараже =)
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разные вопросы по элементам интерфейса от wmag -_- wmag Элементы интерфейса 12 16.08.2012 11:06
регулярка для парсинга SQL запроса Yurik Общие вопросы Javascript 2 09.12.2011 15:08
Загрузка данных из MS SQL в список <select> Mike1983 Firefox/Mozilla 4 27.05.2011 19:01
Установка JDBC Driver для SQL grim Общие вопросы Javascript 2 22.11.2010 08:20