HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

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

Репутация: 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
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

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

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

Репутация: 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
Провел на форуме:
144800

Репутация: 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
Провел на форуме:
9220514

Репутация: 3338


Отправить сообщение для Pashkela с помощью ICQ
По умолчанию

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

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

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

Репутация: 905


По умолчанию

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

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

Репутация: 258
Отправить сообщение для erihtoney с помощью ICQ
По умолчанию

Цитата:
Сообщение от 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
Провел на форуме:
448388

Репутация: 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
Провел на форуме:
3660186

Репутация: 905


По умолчанию

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

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

Репутация: 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.XYZ