2016-06-16 3 views
-1

мне нужна помощь при получении данных для каждого пользователя и от идентификатора пользователя необходимо получить в другой пример таблицы статей:Нужна помощь по этому PHP коду

У меня есть эта таблица с пользователями называется (tbl_users)

id=1 username=(admin) name=(Claudio) referer=(admin) 
id=2 username=(test) name=(testing) referer=(admin) 
id=33 username=(claudia) name=(Claudia) referer=(admin) 

у меня есть эта таблица со статьями (называемых статей)

articleid=5 postedby=(userid=2) title=(articles test1) description=(article test description1) posted(ok) 
articleid=6 postedby=(userid=33) title=(articles test2) description=(article test description2) posted(error) 
articleid=7 postedby=(userid=2) title=(articles test3) description=(article test description3) posted(error) 
articleid=8 postedby=(userid=33) title=(articles test4) description=(article test description4) posted(ok) 
articleid=9 postedby=(userid=2) title=(articles test5) description=(article test description5) posted(ok) 
articleid=10 postedby=(userid=33) title=(articles test6) description=(article test description6) posted(error) 

Теперь я хочу получить все mysql_num_rows разместил идентификатору пользователя в таблицу статей разделены ОК = 3 ошибки = 3 и общее = 6

Пример:

user=test totalarticles=3 postedok=1 postederror=2 
user=claudia totalarticles=3 postedok=2 postederror=1 
+0

Можете ли вы показать, что вы пробовали? –

+2

Я хотел бы указать, что способ форматирования данных _really_ трудно читать. –

+0

@ JonStirling idk как объяснить:/i have 2 tables 1st: users 2st: userarticles. Я хочу сделать таблицу со всеми статистическими данными о пользователях. Статья за на пользователя опубликованные статьи ok за пользователя и т. Д. –

ответ

0
SELECT username, 
    (SELECT COUNT(*) FROM articles a WHERE u.id = a.userid) as totalarticles, 
    (SELECT COUNT(*) FROM articles a WHERE u.id = a.userid AND posted = 'ok') as postedok, 
    (SELECT COUNT(*) FROM articles a WHERE u.id = a.userid AND posted = 'error') as postederror 
FROM tbl_users u 

Это вы должны получить все необходимые вам данные с скоростью resonalbe. Есть способы получить данные больше, но этот shoulb будет самым простым способом понять.

Смежные вопросы