X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
> Объединить запросы
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 15.8.2011, 11:14; Ответить: Salikhoff_hb
Сообщение #1


Назрел вопрос, как можно объединить два запроса проверки в один?[PHP]$records = mysql_query('SELECT `author` FROM `'.$config['pref'].'records` WHERE `author`="'.$_GET['delete'].'"') or die(mysql_error());
$records = mysql_num_rows($records);
$pages = mysql_query('SELECT `author` FROM `'.$config['pref'].'pages` WHERE `author`="'.$_GET['delete'].'"') or die(mysql_error());
$pages = mysql_num_rows($pages);[/PHP]
Мне просто нужно узнать есть ли там вообще совпадения или нет, не зависимо от того сколько в каждой...
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 15.8.2011, 11:51; Ответить: r3ntg3n
Сообщение #2


[PHP]$query = "SELECT (SELECT COUNT(*) FROM `" . $config['pref'] . "records` WHERE `author`='" . $_GET['delete'] .
"') + (SELECT COUNT(*) FROM `" . $config['pref'] . "pages` WHERE `author`='" . $_GET['delete'] . "') as `res`;";[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 15.8.2011, 12:08; Ответить: Witu
Сообщение #3


r3ntg3n, Да будет великое повешенье сервера всего одним запросом
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 15.8.2011, 12:11; Ответить: Salikhoff_hb
Сообщение #4


HTMLandPHP, есть другие предложения?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 15.8.2011, 12:12; Ответить: Apay
Сообщение #5


[PHP]$q = mysql_query ( 'SELECT r.`author` FROM `'.$config['pref'].'records` AS r, `'.$config['pref'].'pages` AS p WHERE p.`author`=r.`author` AND `p.author`="'.$_GET['delete'].'" LIMIT 1' ) or die(mysql_error());
if( mysql_num_rows($q) )
echo 'есть';
else
echo 'нет';[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 15.8.2011, 12:23; Ответить: r3ntg3n
Сообщение #6


(HTMLandPHP @ 15.8.2011, 15:08) *
r3ntg3n, Да будет великое повешенье сервера всего одним запросом
Интересно же, почему? По Вашему, mysql_num_rows() сработает быстрее, чем COUNT() средствами БД?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 15.8.2011, 12:27; Ответить: Salikhoff_hb
Сообщение #7


Apay, Спасибо, немного подправил и работает [PHP]mysql_query('SELECT r.`author` FROM `'.$config['pref'].'records` AS r, `'.$config['pref'].'pages` AS p WHERE p.`author`=r.`author` AND p.`author`="'.$_GET['delete'].'" LIMIT 1') or die(mysql_error());[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 15.8.2011, 12:42; Ответить: Salikhoff_hb
Сообщение #8


Apay, а нет, почему то косяк выходит, сообщение выводит правильно, но потом все равно переходит к следующему условию. Вот смотри, так работает и не переходит к иначе? одним словом правильно:[PHP]$records = mysql_query('SELECT `author` FROM `'.$config['pref'].'records` WHERE `author`="'.$_GET['delete'].'"') or die(mysql_error());
$records = mysql_num_rows($records);
$pages = mysql_query('SELECT `author` FROM `'.$config['pref'].'pages` WHERE `author`="'.$_GET['delete'].'"') or die(mysql_error());
$pages = mysql_num_rows($pages);

if (...)
{
...
}
elseif ($records > 0 || $pages > 0)
{
$recpag = true;
}
else
{...[/PHP] А вот с твоим вариантом:[PHP]$recpag = mysql_query('SELECT r.`author` FROM `'.$config['pref'].'records` AS r, `'.$config['pref'].'pages` AS p WHERE p.`author`=r.`author` AND p.`author`="'.$_GET['delete'].'" LIMIT 1') or die(mysql_error());
$recpag = mysql_num_rows($recpag);

if (...)
{
...
}
elseif ($recpag > 0)
{
$recpag = true;
}
else
{[/PHP] Тоже работает, но почему то потом переходит к иначе...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 15.8.2011, 12:45; Ответить: Apay
Сообщение #9


r3ntg3n, у вас там логическая ошибка, запрос выдает суммарное количество совпадений для обеих таблиц, а, насколько я понял, необходимо выявить совпадения для обеих таблиц, то есть и там и там, а не или, как у вас
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
r3ntg3n
r3ntg3n
сообщение 15.8.2011, 12:50; Ответить: r3ntg3n
Сообщение #10


Apay, ок, извините. Фразу

(' post='122678 @ 15.8.2011, 14:14)
Мне просто нужно узнать есть ли там вообще совпадения или нет, не зависимо от того сколько в каждой...
я понял как раз, как необходимость проверки, если ли вообще записи от указанного пользователя.

А для проверки и там, и там, достаточно не складывать результаты подзапросов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
3 страниц V   1 2 3 >
Открыть тему
Тема закрыта
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыСобрать ключевые запросы для 20 тем
около 250-500к кеев
4 venom777 2961 3.7.2017, 11:29
автор: bakson2016
Открытая тема (нет новых ответов) Статьи заточенные под НЧ запросы с низкой конкуренцией по mutagen
Обзоры игр и приложений для Андроид, ios, PC + картинки
2 seonotebook 2739 30.1.2017, 22:51
автор: seonotebook
Открытая тема (нет новых ответов) не работают media запросы
0 cadet 5763 8.11.2016, 20:03
автор: -cadet-
Открытая тема (нет новых ответов) Публикация Wiki-статей в ВКонтакте под низко- и среднечастотные запросы
Халява
0 seoev 2012 4.11.2016, 19:10
автор: seoev
Открытая тема (нет новых ответов) Влетаем в ТОП на одной семантике! СЯ, готовые ТЗ, запросы с низкой конкуренцией по Мутагену.
27 puteviy 11958 31.8.2016, 18:45
автор: GrayZOR


 



RSS Текстовая версия Сейчас: 25.4.2024, 10:55
Дизайн