| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Запрос массивов |
| Автор: krasgames 8.2.2010, 21:13 | ||||
В базе данных есть несколько строк, которые объединяет то, что их написал один пользователь, порядковый номер которого указывается в определенном столбце. Нужно не просто выделить массив, а если склероз меня не сьел, это можно сделать так:
Нужно после посчитать количество строчек, где упоминается этот порядковый номер пользователя. Как посчитать? А вообще там все немного запутанней, есть порядковый номер, по нему нужно определить номера *альбомов*, созданных пользователями, а уже по этим номерам в другой таблице искать, сколько файлов находится в этих альбомах. Я считаю, что надо сначала создать массив, который будет содержать в любом порядке номера альбомов, а потом выполнить запрос, который бы посчитал в другой таблице общее количество файлов, распиханных по этим альбомам. Жду ваших предложений. Добавлено через 1 минуту и 48 секунд ЗЫ Я не шарю в языке, когда речь заходит о массивах, поэтому я написал сюда скорее для того, чтобы освежить грамматику, с помощью которой работать с массивом, а потом уже алгоритм. Добавлено через 13 минут и 52 секунды Я сам начну с ошибки, которая возникла при выполнении более простого. Я расчитывал, что это выдаст мне число созданных *альбомов*:
Оно что-то не понимает, хотя названия столбцов я более-менее проверил. Просто не выдает какого-либо значения. |
| Автор: Ипатьев 8.2.2010, 21:38 |
| а что возвращает метод database_query? |
| Автор: Severyanin 9.2.2010, 05:03 |
| Да и вообще, думаю, описание класса, который инстанцирует объект $database было бы полезным, иначе мало что можно сказать |
| Автор: krasgames 9.2.2010, 09:27 |
| Я хз, зачем это в движке. $database->database_query заменяет mysql_query. По крайней мере, так думая, я уже писал до этого запросы, и все работало. |
| Автор: Ипатьев 9.2.2010, 10:18 |
| Я не спрашивал, зачем это в движке. Я спросил, что эта функция возвращает. Если эта функция заменяет mysql_query, то ваш код не имеет смысла. Поищите где-нибудь учебник, в котором описывается работа с mysql_query |
| Автор: Severyanin 9.2.2010, 15:03 |
| krasgames, скорее всего, перед такими запросами нужно еще послать запрос на работу с определенной бд и проверить, есть ли вообще подключение к mysql |
| Автор: krasgames 9.2.2010, 18:01 | ||
| Возможно, она делает и подключение. Я давно не смотрел это, не помню, как там подключение происходило. Могу сказать лишь, что $database->database_query выполняет работу функции mysql_query. Пример работающего запроса:
|
| Автор: Ипатьев 9.2.2010, 18:12 |
| на самом деле я неправильный вопрос задал что делает метод database_fetch_array? после ответа на этот вопрос можно будет переходить к правильному запросу. правильный запрос - "SELECT count(`album_id`) FROM `se_albums` WHERE `album_user_id` = '$t_uid'" результат этого запроса можно будет получить с помощью кода из последнего сообщения |
| Автор: krasgames 9.2.2010, 20:14 | ||
database_fetch_array, как я понял, делает то же, что и mysql_fetch_array.
Так работает. Какие замечания? Я не знаю, как можно сделать проще, мне до этого на этом же форуме только это предлагали. Но теперь мне надо посчитать не число album_id, а сформировать массив, содержащий все album_id для данного album_user_id. После этого сделать запрос, в котором после where будут перечисленны album_id, а количество файлов после SELECT будет считаться через count. Но может можно и по другому. То есть перехожу к следующей части вопроса. |
| Автор: krasgames 10.2.2010, 19:50 | ||||
| Слышал, но хз, как это сделать. А насчет массивов, что мне тоже надо припомнить, решил вернуться к первой части, вывести все номера альбомов, которые принадлежат пользователю:
Выводит array полезное количество раз. Где ошибся? |