![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| krasgames |
|
||||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
В базе данных есть несколько строк, которые объединяет то, что их написал один пользователь, порядковый номер которого указывается в определенном столбце. Нужно не просто выделить массив, а если склероз меня не сьел, это можно сделать так:
Нужно после посчитать количество строчек, где упоминается этот порядковый номер пользователя. Как посчитать? А вообще там все немного запутанней, есть порядковый номер, по нему нужно определить номера *альбомов*, созданных пользователями, а уже по этим номерам в другой таблице искать, сколько файлов находится в этих альбомах. Я считаю, что надо сначала создать массив, который будет содержать в любом порядке номера альбомов, а потом выполнить запрос, который бы посчитал в другой таблице общее количество файлов, распиханных по этим альбомам. Жду ваших предложений. Добавлено через 1 минуту и 48 секунд ЗЫ Я не шарю в языке, когда речь заходит о массивах, поэтому я написал сюда скорее для того, чтобы освежить грамматику, с помощью которой работать с массивом, а потом уже алгоритм. Добавлено через 13 минут и 52 секунды Я сам начну с ошибки, которая возникла при выполнении более простого. Я расчитывал, что это выдаст мне число созданных *альбомов*:
Оно что-то не понимает, хотя названия столбцов я более-менее проверил. Просто не выдает какого-либо значения. |
||||
|
|||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
а что возвращает метод database_query?
|
|||
|
||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
Да и вообще, думаю, описание класса, который инстанцирует объект $database было бы полезным, иначе мало что можно сказать
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Я хз, зачем это в движке. $database->database_query заменяет mysql_query. По крайней мере, так думая, я уже писал до этого запросы, и все работало.
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Я не спрашивал, зачем это в движке.
Я спросил, что эта функция возвращает. Если эта функция заменяет mysql_query, то ваш код не имеет смысла. Поищите где-нибудь учебник, в котором описывается работа с mysql_query Это сообщение отредактировал(а) Ипатьев - 9.2.2010, 10:18 |
|||
|
||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
krasgames, скорее всего, перед такими запросами нужно еще послать запрос на работу с определенной бд и проверить, есть ли вообще подключение к mysql
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Возможно, она делает и подключение. Я давно не смотрел это, не помню, как там подключение происходило. Могу сказать лишь, что $database->database_query выполняет работу функции mysql_query.
Пример работающего запроса:
Это сообщение отредактировал(а) krasgames - 9.2.2010, 18:04 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
на самом деле я неправильный вопрос задал
что делает метод database_fetch_array? после ответа на этот вопрос можно будет переходить к правильному запросу. правильный запрос - "SELECT count(`album_id`) FROM `se_albums` WHERE `album_user_id` = '$t_uid'" результат этого запроса можно будет получить с помощью кода из последнего сообщения |
|||
|
||||
| krasgames |
|
|||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
database_fetch_array, как я понял, делает то же, что и mysql_fetch_array.
Так работает. Какие замечания? Я не знаю, как можно сделать проще, мне до этого на этом же форуме только это предлагали. Но теперь мне надо посчитать не число album_id, а сформировать массив, содержащий все album_id для данного album_user_id. После этого сделать запрос, в котором после where будут перечисленны album_id, а количество файлов после SELECT будет считаться через count. Но может можно и по другому. То есть перехожу к следующей части вопроса. Это сообщение отредактировал(а) krasgames - 9.2.2010, 20:16 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
в этом случае надо внимательно почитать в документации, что делает функция mysql_fetch_array, и подумать, что вернет array_count_values(), если ей передать результат работы mysql_fetch_array Все подсчеты должна делать база данных Слышали когда-нибудь про джойны? |
|||
|
||||
| krasgames |
|
||||
|
Старый мастер ![]() Профиль Группа: Участник Сообщений: 170 Регистрация: 4.12.2009 Репутация: нет Всего: нет |
Слышал, но хз, как это сделать.
А насчет массивов, что мне тоже надо припомнить, решил вернуться к первой части, вывести все номера альбомов, которые принадлежат пользователю:
Выводит array полезное количество раз. Где ошибся? |
||||
|
|||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |