[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как уменьшить этот код
m4a1fox
Добрый день уважаемые эксперты. Есть токой запрос
$link_page = $_SERVER['REQUEST_URI'];
$result_vote_up = mysql_query("SELECT * FROM `vote`
WHERE `link` = '"
.$link_page."' AND `vote_up` = 1
"
) or die ("Ошибка -".mysql_error());
$query_vote_up = mysql_num_rows($result_vote_up);

$result_vote_down = mysql_query("SELECT * FROM `vote`
WHERE `link` = '"
.$link_page."' AND `vote_down` = 1
"
) or die ("Ошибка -".mysql_error());
$query_vote_down = mysql_num_rows($result_vote_down);
$middle_count = $query_vote_up - $query_vote_down;


его реально уменьшить?



Спустя 4 минуты, 44 секунды (7.03.2011 - 12:06) ApuktaChehov написал(а):
А что это вообще такое? Логику опишите, мы же не экстрасенсы тут.

Спустя 13 минут, 21 секунда (7.03.2011 - 12:20) m4a1fox написал(а):
ApuktaChehov
А! Ну вот такое дело. Это голосование. Ну что то типа нравится или нет. В табл. заносится link (где было голосование) и ip (соответственно ip голосовавшего). Определяю на какой стр. находится юзер вот этим
$link_page = $_SERVER['REQUEST_URI'];
Я из таблице в БД пытаюсь подсчитать кол-во строк в с положительными голосами (vote_up), а потом, во втором запросе, подсчитываю кол-во строк с отрицательными голосами (vote_down).

Спустя 19 минут, 32 секунды (7.03.2011 - 12:39) VELIK505 написал(а):
Тебе что именно не нравиться запрос тяжелый?

Спустя 7 минут, 13 секунд (7.03.2011 - 12:46) m4a1fox написал(а):
VELIK505
Я в общем спрашиваю... Вообще такое практикуется?

Спустя 6 минут, 28 секунд (7.03.2011 - 12:53) PiratXXX написал(а):
m4a1fox

ну твои запросы можно упростить тем что бы не подсчитывать кол строк mysql_num_rows($result_vote_up);, есть в Mysql такая функция как COUNT(), почитай, а еще погугли двойный запросы.

Спустя 51 секунда (7.03.2011 - 12:54) PiratXXX написал(а):
m4a1fox

там в принципи ничего слогного...

Спустя 5 минут, 10 секунд (7.03.2011 - 12:59) m4a1fox написал(а):
PiratXXX
Да. Точно! Насчет COUNT это хорошо подсказали. Спасибо.

Спустя 25 минут, 19 секунд (7.03.2011 - 13:24) m4a1fox написал(а):
PiratXXXПопробовал COUNT - итог, не получается так.

Спустя 20 минут, 18 секунд (7.03.2011 - 13:45) Семён написал(а):
Ну я бы сначала сменил бы структуру таблицы... например vote_up/vote_down объеденить в 1 колонку vote_status с 1/0 и 1 запросом с ORDER BY vote_status получать нужные данные

Спустя 4 минуты, 20 секунд (7.03.2011 - 13:49) m4a1fox написал(а):
Семён
Цитата
объеденить в 1 колонку vote_status с 1/0

Хм..... Интересно.... Это получается ENUM. Но мне сортировка не нужна... Извините... Не понимаю логику запроса... sad.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.