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



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> Как вытащить сумму значений из таблицы mysql
Mapshal
Mapshal
Topic Starter сообщение 27.2.2015, 13:22; Ответить: Mapshal
Сообщение #1


Бывалый
****


Группа: Banned
Сообщений: 295
Регистрация: 2.3.2011
Поблагодарили: 48 раз
Репутация:   14  


Есть запрос
$zr=mysql_query("SELECT * FROM users WHERE referer='$ref_2'");
$vzr = mysql_fetch_assoc( $zr );

Как получить сумму значений $vzr['ref_b']

0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 27.2.2015, 13:28; Ответить: x64
Сообщение #2


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3425
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2746 раз
Репутация:   289  


Код
$zr = mysql_query("SELECT SUM(`ref_b`) FROM users WHERE referer = '$ref_2'");
$vzr = mysql_fetch_row($zr);
echo $vzr[0]; # вывод суммы


PS: Надеюсь, $ref_2 у Вас проходит предварительную обработку, а не берётся напрямую из $_SERVER['HTTP_REFERER']?


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mapshal
Mapshal
Topic Starter сообщение 27.2.2015, 14:11; Ответить: Mapshal
Сообщение #3


Бывалый
****


Группа: Banned
Сообщений: 295
Регистрация: 2.3.2011
Поблагодарили: 48 раз
Репутация:   14  


x64, Не выводит, давайте покажу полностью что я наделал

$ref = mysql_query("SELECT * FROM users WHERE referer='$referer'");
while( $araayref = mysql_fetch_assoc($ref)) {
$ref_2 = $araayref['pk_user'];
$a=mysql_query("SELECT COUNT(1) FROM users WHERE referer='$ref_2'");
$b = mysql_fetch_array( $a );
$b[0];
$zr=mysql_query("SELECT SUM (`ref_b`) FROM users WHERE referer='$ref_2'");
$vzr = mysql_fetch_assoc( $zr );
echo "<tr><td>".$araayref['flname']."</td><td>".$araayref['ref_b']."</td><td>".$b[0]."</td><td>".$vzr[0]."</td></tr>";}
}

Первое выводи имя, второе $araayref['ref_b'], третье количество $a=mysql_query("SELECT COUNT(1) FROM users WHERE referer='$ref_2'"); и четвертое должно выводить сумму ref_b где referer='$ref_2'.

Вот четвертое не выводит ничего.

x64, Спасибо, оказывается все работает, не пойму только почему, но пробовал тот вариант что вы мне дали, сначала не работал, потом попробовал другие и опять попробовал ваш, все заработало.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
x64
x64
сообщение 27.2.2015, 17:08; Ответить: x64
Сообщение #4


F.A.L.L.O.U.T.
*******

Группа: Super Moderator
Сообщений: 3425
Регистрация: 30.6.2011
Из: Железнодорожный (Балашиха)
Поблагодарили: 2746 раз
Репутация:   289  


Код
$referer2 = mysql_real_escape_string($referer); # обязательно, если $referer не экранирована
$ref = mysql_query("SELECT * FROM users WHERE referer='$referer2'"); # отправить запрос
while( $araayref = mysql_fetch_assoc($ref)) { # получать результат, пока есть
    $ref_2 = $araayref['pk_user']; # если результат содержит кавычку или завершающий
    # обратный слеш, строка ниже будет выдавать ошибку
    
    $a = mysql_query("SELECT COUNT(1) FROM users WHERE referer='$ref_2'"); # отправляем второй запрос
    /*
        COUNT(1) — что ожидается в ответ?
        чаще всего используется в таком виде:
        COUNT(*) — вернуть общее число записей
        можно ещё так:
        COUNT(`field`) — где `field` — имя поля, в этом случае возвращается число записей
        без учёта значений NULL
    */
    $b = mysql_fetch_array($a); # тут нужно mysql_fetch_row()
    
    $b[0]; # это что?
    
    $zr = mysql_query("SELECT SUM(`ref_b`) FROM users WHERE referer='$ref_2'");
    $vzr = mysql_fetch_assoc( $zr ); # почему снова assoc? в коде явно указано row
    echo "<tr><td>".$araayref['flname']."</td><td>".$araayref['ref_b']."</td><td>".$b[0]."</td><td>".$vzr[0]."</td></tr>";}
}

Ну и три последовательных запроса к одной таблице как-то не айс.


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mapshal
Mapshal
Topic Starter сообщение 27.2.2015, 17:19; Ответить: Mapshal
Сообщение #5


Бывалый
****


Группа: Banned
Сообщений: 295
Регистрация: 2.3.2011
Поблагодарили: 48 раз
Репутация:   14  


x64, Понял, спасибо


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Видеомаркетинг как инструмент развития интернет-магазина
11 PostBrigada 2116 Сегодня, 20:30
автор: galikfor
Открытая тема (нет новых ответов) Facebook палит прокси. Кто как решает эту проблему?
28 Twickbot 3588 Сегодня, 20:26
автор: galikfor
Открытая тема (нет новых ответов) Обман пользователей мобильного интернета, о как =)
11 RMak 1451 Сегодня, 12:53
автор: RMak
Открытая тема (нет новых ответов) Как повлиять на быстрые ссылки в гугле?
6 maxg5 1386 Сегодня, 10:20
автор: lesssss81
Открытая тема (нет новых ответов) как правильно написать альт и тайтл для изображений
0 galaker 359 Вчера, 22:50
автор: galaker


 



RSS Текстовая версия Сейчас: 14.12.2017, 21:19
Дизайн