Пару вопросов к гуру PHP

#1 3 ноября 2012 в 01:16
По faq:
1.Как вывести количество вопросов в категории?
2.Как сделать перед вопросом Аватар пользователя?
3.Как вывести количество ответов в вопросе?

Прошу помочь, за рание спасибо.
#3 3 ноября 2012 в 10:33


По faq:
1.Как вывести количество вопросов в категории?
2.Как сделать перед вопросом Аватар пользователя?
3.Как вывести количество ответов в вопросе?

Прошу помочь, за рание спасибо.

Blogger

ты конечно, извини, но что твои вопросы то требуют? конкретного кода? — ну если так то для какого компонента, я допустим гадать не умею 😊
#4 3 ноября 2012 в 10:54
конкретного кода, если можете помочь.
#5 3 ноября 2012 в 11:11


конкретного кода, если можете помочь.

Blogger

тут есть несколько вариантов, как обычно)

1. 1) Можно в таблице категорий добавить поле с количеством вопросов в ней и обновлять его при добавление/удаление вопроса
2) Можно делать запрос по id категории в таблице вопросов и посчитать сколько найдет записей.

1 вариант более быстрый и менее затратный, но требует некоторых изменений :)
2 "более" долгий, но верный и не требует изменений.

2. 1) По аналогии можно сделать дополнительное поле в Таблице вопросов, где хранить название файла аватарки пользователя и допустим чтобы не наткнуться на подводный камень, делать проверку раз в день не менялась ли аватарка ( или при изменение аватарки прописать в коде дополнительно обновлять таблицы)
2) ну или вытаскивать в запросе при получение ДАННЫХ вопроса . сделать подзапрос или OUTER join'ом вытащить запись аватарки

3. тут по аналогии с первых пунктом.

ну а теперь определись как вам нужно 😊 а для конкретного решения наверное нужно знать структуру и бд, и вашего кода, разве нет?)

или вам надо на примере?
#6 3 ноября 2012 в 12:16

1.Как вывести количество вопросов в категории?

Blogger
Советую почитать статьи по SQL запросам. В данном случае используем COUNT(*) и ставим нужное нам условие(WHERE).

Как сделать перед вопросом Аватар пользователя?

Blogger
Эта тема много раз обсуждалась, поищите.

3.Как вывести количество ответов в вопросе?

Blogger
Опять же используем COUNT(*) и ставим условие.


1. 1) Можно в таблице категорий добавить поле с количеством вопросов в ней и обновлять его при добавление/удаление вопроса
2) Можно делать запрос по id категории в таблице вопросов и посчитать сколько найдет записей.

1 вариант более быстрый и менее затратный, но требует некоторых изменений :)
2 "более" долгий, но верный и не требует изменений.

2. 1) По аналогии можно сделать дополнительное поле в Таблице вопросов, где хранить название файла аватарки пользователя и допустим чтобы не наткнуться на подводный камень, делать проверку раз в день не менялась ли аватарка ( или при изменение аватарки прописать в коде дополнительно обновлять таблицы)

kir
Лучше бы Вам самому поучиться, затем уже давать советы. Без обид… пишу как есть.
#7 3 ноября 2012 в 12:31
Хотя лучше всего будет немного покопаться и вывести количество вопросов под каждой категорией.
Я лишь дам наводку.
  1. $faq_count = $inDB->rows_count('cms_faq_quests q, cms_faq_cats c', "q.category_id = '$cat' AND q.published =1 AND c.published =1");
Переменной $cat присваивайте значение линку категории где находиться пользователь.
#8 3 ноября 2012 в 16:57
Ребят я в php обще почти не понимаю, только поверхности.

Кто может написать что где исправить, прошу пожалуйста помогите.
#9 4 ноября 2012 в 10:33

Опять же используем COUNT(*) и ставим условие.

WALTERZ

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



Лучше бы Вам самому поучиться, затем уже давать советы. Без обид… пишу как есть.

WALTERZ

по факту, критику пишите а не бросайтесь словами. что вас не устраивает? или ляпнули основываясь на своих малых знаниях?
#10 4 ноября 2012 в 10:56
kir, Просил же — без обид.
#11 4 ноября 2012 в 11:02
WALTERZ, вы обоснуйте свои слова, причем тут обиды, я к критике отношусь положительно, но вы объясните что по вашему не так😉а иначе это уже получается не критика а показуха.;) в конце концов чужое мнение лишним не бывает. ;)
#12 4 ноября 2012 в 11:10
Ребята прекратите свои не нужные разговоры и пишите по теме. Чтоб по общаться есть «личные сообщения».
#13 4 ноября 2012 в 11:43
kir, извиняюсь, действительно надо было объяснить.
Изначально я подумал, что автор просто хочет узнать для себя и сделать запрос на количество записей, я и посоветовал COUNT(*).
Затем подумал что тс хочет внести изменения в системе и предложил такой вариант, он самый оптимальный:

  1. $faq_count = $inDB->rows_count('cms_faq_quests q, cms_faq_cats c', "q.category_id = '$cat' AND q.published =1 AND c.published =1");
Переменной $cat присваивайте значение линку категории где находиться пользователь.

WALTERZ
А по поводу вашего ответа:
Вряд ли там такая большая база, чтобы прибегать к такому способу:

Можно в таблице категорий добавить поле с количеством вопросов в ней и обновлять его при добавление/удаление вопроса

kir
Даже если БД большая, то запросов на обновление данных будет много, а это уже плохо.
Да и раз БД и активность всё же большая, будет правильнее мой вариант + кэширование по требованию.

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

kir
А вообще у меня действительно малый опыт, поправьте если я не прав.
#14 4 ноября 2012 в 12:50
ну тогда следующий вопрос, а вы не забыли про то что в категориях на главной странице есть еще подкатегории, и надо подсчитать еще и количество в них? тут надо подзапрос делать, и через оператор IN дабы включить количество "вопросов" во всех подкатегориях категории

вообщем под 1.9 вот рабочий вариант, с аватарками не сделал так как жду ответа от Blogger'a где именно надо.
Прикрепленный файл
tmp_utgvd.rar 5 Кб
#15 4 ноября 2012 в 12:53
kir, Не проблема вовсе, лишь запрос изменить :)
Да и ситуацию то всё равно не меняет. Или я всё же не прав?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.