HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #831  
Старый 14.11.2009, 21:12
Architek86
Познающий
Регистрация: 20.02.2008
Сообщений: 82
С нами: 9590577

Репутация: 2
По умолчанию

Народ, есть запрос:
Цитата:
"SELECT `id`,`cena_bannera`,`date_cena` FROM `puppy_users` WHERE `my_porodki` like '%" . $pord . "%' AND `act_bannera` = 1 ORDER BY `cena_bannera` DESC,`date_cena` ASC"
Можно ли изменить запрос так, что бы он при выборе строк смотрел, что за `id`, если оно равно, например, 10, то к результату `cena_bannera` прибавлял бы, например, 5 (прибавлял бы к результату, а не делал UPDATE поля!!!) и, естественно, сортировал бы результат (т.е. ORDER BY `cena_bannera` DESC) с учётом изменённого `cena_bannera`?

P.S. Знаю, есть в MySQL IF(), но каким боком его там заюзать...

Последний раз редактировалось Architek86; 14.11.2009 в 21:14..
 
Ответить с цитированием

  #832  
Старый 14.11.2009, 21:33
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

PHP код:
if(условие)var+
 
Ответить с цитированием

  #833  
Старый 14.11.2009, 21:45
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Код:
"SELECT `id`,if(`id` = 10, `cena_bannera` + 5, `cena_bannera`) as `cb`,
`date_cena` 
FROM `puppy_users` 
WHERE `my_porodki` like '%" . $pord . "%' 
AND `act_bannera` = 1 
ORDER BY `cb` DESC,`date_cena` ASC"
 
Ответить с цитированием

  #834  
Старый 17.11.2009, 01:13
felix_
Новичок
Регистрация: 25.09.2008
Сообщений: 28
С нами: 9276352

Репутация: 9
По умолчанию

PHP код:
$one mysql_qurey("SELECT * FROM user WHERE id=1 LIMIT 1",$connect);
$name1=mysql_fetch_array($one);
echo 
$name1[name]; 
PHP код:
$one mysql_query("SELECT name FROM user WHERE id=1 LIMIT 1",$connect);
$name2=mysql_fetch_array($one);
echo 
$name2[name]; 
по идее второй код занимает меньше памяти? или нет смысла выбирать столбцы только те которые нужны?
 
Ответить с цитированием

  #835  
Старый 17.11.2009, 01:27
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
С нами: 9649706

Репутация: 3338


По умолчанию

думаю есть смысл, и дело скорее не в памяти, а скорости sql-запроса + нагрузка на БД

тем более если в итоге нужно только name выцепить
 
Ответить с цитированием

  #836  
Старый 17.11.2009, 09:45
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Всегда стараюсь выцепить только те колонки, которые действительно нужны. Имхо не слишком целесообразно брать все 30 полей из таблицы, если нужно на самом деле одно-два-три
 
Ответить с цитированием

  #837  
Старый 17.11.2009, 10:32
erihtoney
Познающий
Регистрация: 03.03.2009
Сообщений: 86
С нами: 9047791

Репутация: 258
По умолчанию

Цитата:
Сообщение от felix_  
PHP код:
$one mysql_qurey("SELECT * FROM user WHERE id=1 LIMIT 1",$connect);
$name1=mysql_fetch_array($one);
echo 
$name1[name]; 
PHP код:
$one mysql_query("SELECT name FROM user WHERE id=1 LIMIT 1",$connect);
$name2=mysql_fetch_array($one);
echo 
$name2[name]; 
по идее второй код занимает меньше памяти? или нет смысла выбирать столбцы только те которые нужны?
Раз уж задумался о памяти, было бы разумнее использовать mysql_fetch_assoc, не забивая память
 
Ответить с цитированием

  #838  
Старый 21.11.2009, 10:33
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
С нами: 9356016

Репутация: 31
Exclamation

Здравствуйте!

В таблице keywords записаны следующий строки:
i want buy moto
i want buy new auto
want i buy motocycle
buy want i new moto

Строка-поиск: i want buy

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

Обычным
PHP код:
SELECT FROM keywords WHERE string LIKE '%i want buy%' 
не обойтись, т.к. вернуться только первые две строки, мне нужно вернуть все. Это возможно? Если возможно то как?

Заранее благодарен!

Последний раз редактировалось OnArs; 21.11.2009 в 10:37..
 
Ответить с цитированием

  #839  
Старый 21.11.2009, 12:46
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
С нами: 10021597

Репутация: 905


По умолчанию

Попробуйте как-нить так
Код:
string RLIKE '(^| )i( |$)' 
AND string RLIKE '(^| )want( |$)' 
AND string RLIKE '(^| )buy( |$)'
 
Ответить с цитированием

  #840  
Старый 21.11.2009, 22:54
OnArs
Участник форума
Регистрация: 01.08.2008
Сообщений: 239
С нами: 9356016

Репутация: 31
По умолчанию

Ещё раз здравствуйте!


В таблице строки:
id string
1 я строчкоо
2 я строчкоо
1 я строчкоо
5 я строчкоо
9 я строчкоо
19 я строчкоо
21 я строчкоо


Нужно получить НОМЕР строки в таблице, т.е. для строки с id = 5 запрос должен вернуть 4

Возможно ли это? Если да, то как будет выглядеть запрос или в какую сторону копать?

Заранее благодарен!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору. Комиссия форума: 2%.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...