Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: 1 запрос вместо 2х

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Sanek_OS9
Отправлено: 29 Октября, 2012 - 19:28:25
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




Здраствуйте, вот у меня возник такой вопрос, как одним запросом вывести данные?
Вот обьясню, у меня есть таблица, пусть будет rating, в ней есть поля good и bed (положительный и отрицательный рейтинг). Чтоб вывести эти данные я делаю так:

PHP:
скопировать код в буфер обмена
  1. echo "Всего отрицательных голосов: ".mysql_result(mysql_query("SELECT SUM(bed) FROM `rating`"), 0)." раз(а)<br />\n";
  2.  
  3. echo "Всего положительных голосов: ".mysql_result(mysql_query("SELECT SUM(good) FROM `rating`"), 0)." раз(а)<br />\n";


То есть использовав два запроса, как его можно обьеденить в один?
 
 Top
ingram
Отправлено: 29 Октября, 2012 - 19:38:47
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Июнь 2010  


Помог: 3 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SUM(bed) AS bed, SUM(good) AS good FROM `rating`;
 
 Top
Sanek_OS9
Отправлено: 29 Октября, 2012 - 19:53:01
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




ingram пишет:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT SUM(bed) AS bed, SUM(good) AS good FROM `rating`;

Сделал под свои нужды и получилось вот что:
PHP:
скопировать код в буфер обмена
  1. echo "Всего кодов: ".mysql_result(mysql_query("SELECT SUM(rating_m) AS rating_m, SUM(rating_p) AS rating_p FROM `code_cod`"), 0)."<br />\n";

В результате вывелось -13, но это не важно так как мне нужно занести результат в две переменные, в одну результат положительных результатов, в другую отрицательных.
 
 Top
OrmaJever
Отправлено: 29 Октября, 2012 - 19:58:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




блин кто вас учил изпользовать функцию mysql_result и писат ьвсё в одну строку?
PHP:
скопировать код в буфер обмена
  1. $q = mysql_query("SELECT SUM(rating_m) AS rating_m, SUM(rating_p) AS rating_p FROM `code_cod`");
  2. echo $r['rating_m'];
  3. echo $r['rating_p'];


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
ingram
Отправлено: 29 Октября, 2012 - 19:59:02
Post Id



Гость


Покинул форум
Сообщений всего: 65
Дата рег-ции: Июнь 2010  


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $ocenka = mysql_fetch_assoc(mysql_query("SELECT SUM(bed) AS bed, SUM(good) AS good FROM `rating`"));
  3.  
  4. print_r($ocenka);
  5.  


Получившейся массив и используй

(Отредактировано автором: 29 Октября, 2012 - 20:00:13)

 
 Top
Sanek_OS9
Отправлено: 29 Октября, 2012 - 20:07:29
Post Id



Гость


Покинул форум
Сообщений всего: 115
Дата рег-ции: Окт. 2012  
Откуда: Украина


Помог: 0 раз(а)




Большое спасибо Улыбка все что хотел сделал, спасибо. Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB