Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

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

Наши новости:

14-дек
24-апр
10-апр
11-апр

mysql запрос

, mysql
Статус пользователя FreeDom
сообщение 1.2.2015, 2:11
Сообщение #1


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

Всем привет, может кто поможет составить запрос
Есть база
user_id - id пользователя
news_id - id новости
news_read - количество просмотров записи
editor - Имя пользователя

Нужно вывести все данные всех пользователей в цикле
Данные должны получится такие

id - вывести его ид
editor - имя
news_read - общее количество просмотров каждого пользователя

id editor news_read
1 Вася 999
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
umprex
сообщение 1.2.2015, 2:19
Сообщение #2


Иконка группы

Стаж: 16 лет
Город: Киев

Сообщений: 2909
Благодарностей: 4781
Полезность: 2197

FreeDom, mysql, mysqli, pdo?


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 1.2.2015, 2:21
Сообщение #3
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Код
SELECT `user_id`, `editor`, `news_read` FROM `имя таблицы`

psych.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 2:25
Сообщение #4


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

Цитата(umprex @ 1.2.2015, 2:19) *
FreeDom, mysql, mysqli, pdo?

Mysql

Цитата(voed @ 1.2.2015, 2:21) *
Код
SELECT `user_id`, `editor`, `news_read` FROM `имя таблицы`

psych.gif

Мне нужно не только вывести все значение но еще нужно посчитать их

там куча записей у которых есть автор ид и количество просмотров

Мне нужно вывести user_id + editor + сумму только его статей и его количество просмотров
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 1.2.2015, 2:27
Сообщение #5
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Без полной структуры БД тяжеловато понять, что вам нужно)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 2:29
Сообщение #6


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

Цитата(voed @ 1.2.2015, 2:27) *
Без полной структуры БД тяжеловато понять, что вам нужно)

Структура просмотров DLE )

Нужно вывести данные все так чтоб было
Вася пупкин и его количество просмотров
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
umprex
сообщение 1.2.2015, 2:31
Сообщение #7


Иконка группы

Стаж: 16 лет
Город: Киев

Сообщений: 2909
Благодарностей: 4781
Полезность: 2197

SELECT COUNT(`news_id `) as `news_count`, COUNT(`news_read`) as `read_count`, `user_id` FROM `table` WHERE `editor` = 'ololo'

FreeDom, сработает только в том случае, если каждая новость - отдельная строка, а имя пользователя одно для всех таких строк. Не уверен на 100% что синтаксис верен

Причина: забыл FROM


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 2:36
Сообщение #8


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129


Так выглядить база
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
voed
сообщение 1.2.2015, 2:43
Сообщение #9
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Тогда вроде так для одного пользователя
Код
SELECT COUNT(`news_id `) as `news_count`, SUM(`news_read`) as `read_count`, `user_id` FROM `table` WHERE `editor` = 'ololo'

Если нужно для всех пользователей, то надо сначала получить список пользователей с другой таблицы
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 2:45
Сообщение #10


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

Цитата(voed @ 1.2.2015, 2:43) *
Тогда вроде так для одного пользователя
Код
SELECT COUNT(`news_id `) as `news_count`, SUM(`news_read`) as `read_count`, `user_id` FROM `table` WHERE `editor` = 'ololo'

Если нужно для всех пользователей, то надо сначала получить список пользователей с другой таблицы

Допустим я получил список с другой таблицы как дальше сделать ? )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
umprex
сообщение 1.2.2015, 3:05
Сообщение #11


Иконка группы

Стаж: 16 лет
Город: Киев

Сообщений: 2909
Благодарностей: 4781
Полезность: 2197

FreeDom,

Код
    $q = mysql_query("SELECT `user_id`, `news_read`, `editor` FROM `table`");
    $data = array();
    
    while($data = mysql_fetch_array($q)){
        $data[] = $q;
    }
    
    for($i=0; $i<count($data); $i++){
        for($j=0; $j<count($data); $j++){
            $data[$i]['news_sum'] = $data[$i]['news_read'];
            if($data[$i]['editor'] == $data[$j]['editor']){
                $data[$i]['news_sum'] = $data[$i]['news_sum'] + $data[$j]['news_read'];
                unset($data[$j]);
            }
        }
    }


P.S не уверен что правильно, т.к. ночь и я иду спать. В конечном итоге в массиве $data будет по 1 массиву с каждым ником, в котором будет user_id - id и 'news_sum' c суммой по прочитанным. По хорошому я забыл объявить news_sum. Надеюсь правильно вышло. Спокойной ночи

Причина: п.с. не будет работать, т.к. я не учел, что там двумерный массив, постараюсь завтра помочь, если кто то не поможет раньше


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 1.2.2015, 10:24
Сообщение #12
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

FreeDom,
Если вы не знаете элементарных вещей, зачем вы этим занимаетесь?

Код
$connect = mysql_query("SELECT `id`, `editor`, `news_read` FROM `ТВОЯ БД`");

while($user = mysql_fetch_object($connect))
{
          echo $user->id;
          echo "<br/><b>". $user->editor ."</b>";
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 11:05
Сообщение #13


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

Цитата(Orty_Hart @ 1.2.2015, 10:24) *
FreeDom,
Если вы не знаете элементарных вещей, зачем вы этим занимаетесь?

Код
$connect = mysql_query("SELECT `id`, `editor`, `news_read` FROM `ТВОЯ БД`");

while($user = mysql_fetch_object($connect))
{
          echo $user->id;
          echo "<br/><b>". $user->editor ."</b>";
}

Спасибо это не тот запрос который нужен
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
umprex
сообщение 1.2.2015, 12:53
Сообщение #14


Иконка группы

Стаж: 16 лет
Город: Киев

Сообщений: 2909
Благодарностей: 4781
Полезность: 2197

FreeDom, го в скайп, я через тв сделаю, так будет проще сообразить. skype - umprex


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 13:48
Сообщение #15


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

Цитата(umprex @ 1.2.2015, 12:53) *
FreeDom, го в скайп, я через тв сделаю, так будет проще сообразить. skype - umprex

Добавил )
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 1.2.2015, 22:39
Сообщение #16
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

FreeDom,
а что вы в шапке темы написали?
Напишите корректно, что вам нужно.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя FreeDom
сообщение 1.2.2015, 23:33
Сообщение #17


Стаж: 15 лет

Сообщений: 959
Благодарностей: 67
Полезность: 129

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