Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сформировать запрос по значениям для трех полей, каждое из них может не быть задано 
:(
    Опции темы
Aumn
Дата 5.12.2009, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



Цитата(Ипатьев @  5.12.2009,  09:48 Найти цитируемый пост)
Aumn, у вас в таблице поля всегда так называются - буква с цифрой? Если нет - то к чему изобретать такой заведомо нежизнеспособный код?Разрешите дать вам один совет. Как человеку, который решил отвечать на вопросы оптом, даже не глядя на дату последнего сообщения. Пишите код только в том случае, если вы уже использовали его раньше, в сходной ситации. А не придумывая его на ходу.


Ипатьев, тут я могу Вам только ответить, что никогда не делаю таких полей. Если Вы обратите внимание на первый пост, то заметите, что в запросе поля именно так и сформулированны. Тот код, что я написал, я никогда не использовал (кроме тестирования перед выкладкой сюда) и не собираюсь, так как с моей точки зрения поля в таблице должны иметь более менее читабельный вид. На счет "вопросы оптом". Это что - нарушение правил? Я просто помогаю людям и ничего от этого не требую. Я не ставлю никаких рекламных ссылок и прочей ерунды. Какое из моих решений навредило?

P.S. Для всех, чтоб не возникало больше вопросов - данный код подходит только для данного случая и упрощает процесс реализации (как и объем кода)

Это сообщение отредактировал(а) Aumn - 5.12.2009, 19:22
PM MAIL ICQ Skype   Вверх
Ипатьев
Дата 5.12.2009, 19:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2232
Регистрация: 5.7.2009

Репутация: 28
Всего: 37



Задавая вопрос, автор часто упрощает его, думая, что так будет полезнее.

PM MAIL   Вверх
Aumn
Дата 5.12.2009, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



Цитата(Ипатьев @  5.12.2009,  19:38 Найти цитируемый пост)
Задавая вопрос, автор часто упрощает его, думая, что так будет полезнее.


Благодарю. Приму к сведению. Я тут не так-то и давно и не знал, что на этом форуме такое практикуется.
PM MAIL ICQ Skype   Вверх
NLspieler
Дата 5.12.2009, 20:17 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 619
Регистрация: 13.10.2008
Где: Берлин

Репутация: 16
Всего: 19



Не знаю, почему такую элементарную задачу, обсуждают уже вторую страницу.
Ну раз уж пошла такая тема, то предложу своё решение.

Код

$felder = array ("feld1" , "feld2") ;  //Названия $_POST полей, которые используются для поиска и могут быть заполнены или нет
$where = '' ; //Приставка, к запросу с условиями

//Тут можно добавить дополнительные проверки и преобразования пост полей

foreach ($felder as $feld)
{
    if (isset($_POST[$feld]) and $_POST[$feld] != '')
    {
         $where .= $feld . ' = ' . $_POST[$feld] .  'AND ' ;
    }
}
$where .= '1=1' ; 
$sql = "SELECT * FROM TABLE_NAME WHERE $where" ;



PM MAIL   Вверх
Simpliest
Дата 5.12.2009, 21:22 (ссылка)    | (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(Ипатьев @  5.12.2009,  17:35 Найти цитируемый пост)
при этом не требует дополнительной обработки, и является более гибким

Эм? smile а в чем "более" гибкость? smile 
В том что после появления 4го поля он уже будет несколько неудобным, после 8го мы начнем подозревать что, что-то пошло не так.
К 20му запросу написанному "таким" спосбом, мы проклянем того кто нам его посоветовал, сотрем все к черту и перепишем заново? smile
Если для вас гибкость заключается в этом  - то мне нечего возразить smile


Цитата(Ипатьев @  5.12.2009,  17:35 Найти цитируемый пост)
и "лапша" вполне имеет право на жизнь. 

В маленьких скриптах - вполне.
Она проще и быстрее пишется, над ней нужно меньше думать.

как только скрипт начинает расти и меняться - лапшу начинаешь тихо ненавидеть.

Добавлено через 2 минуты и 39 секунд
Цитата(Aumn @  5.12.2009,  18:12 Найти цитируемый пост)
 Это что - нарушение правил?

Поднятие тем более чем 2-3 месячной давности называется некрофилией smile
А так - ради бога smile Кто-то любит мальчиков, кто-то девочек, а кто-то слегка расползающихся под пальцами smile Дело-то житейское smile


--------------------
user posted image
PM   Вверх
Denwer
Дата 6.12.2009, 11:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 19.6.2007
Где: Харьков

Репутация: нет
Всего: нет



понятное дело что поля я так не называл, и типы данных там могут быть любые, написал для краткости и понятности вопроса. Все же спасибо всем кто откликнулся, были действительно достойные ответы, от ребят поопытнее. Вот так и рождается истина в спорах и в разногласиях. Всем хорошего дня!!!
PM WWW   Вверх
Aumn
Дата 7.12.2009, 04:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



Цитата(Simpliest @  5.12.2009,  21:22 Найти цитируемый пост)
Поднятие тем более чем 2-3 месячной давности называется некрофилией А так - ради бога  Кто-то любит мальчиков, кто-то девочек, а кто-то слегка расползающихся под пальцами  Дело-то житейское 


Что-то я не понял. Какое это отношение имеет к моим словам?
PM MAIL ICQ Skype   Вверх
Simpliest
Дата 7.12.2009, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 625
Регистрация: 1.9.2009

Репутация: 1
Всего: 3



Цитата(Aumn @  7.12.2009,  03:10 Найти цитируемый пост)
Что-то я не понял. Какое это отношение имеет к моим словам? 

Это имеет отношение к твоим действиям. Когда ты отвечал на старые/мертвые темы.


--------------------
user posted image
PM   Вверх
Aumn
Дата 7.12.2009, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 3.12.2009

Репутация: нет
Всего: нет



Цитата(Simpliest @  7.12.2009,  06:57 Найти цитируемый пост)
Это имеет отношение к твоим действиям. Когда ты отвечал на старые/мертвые темы.


Они полюбому попали/попадут в архив + в индекс поисковика. Потом по какому-либо запросу, возможно, выведится страница форуму, где я отвечал и, также скажу - возможно, кому-то и пригодится мой ответ. Поэтому даже постинг в старых/мертвых темах иногда полезен.  smile 

Это сообщение отредактировал(а) Aumn - 7.12.2009, 14:59
PM MAIL ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1116 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.