Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2011, 16:12   #1
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию Возвращение массива записей через объект

Доброго всем времени, в общем столкнулся с проблемой, пытаюсь вернуть массив значений полученной из базы, но получаю только последнюю запись.
Вот код:
Код:
function Get_Information()
		{
			$query="SELECT * FROM ".$this->R_Sql."TestRazd ORDER BY RazdelId";
				$Result_query=mysql_query($query) or die('Ошибка получения информации о разделах');
					$row=mysql_fetch_row($Result_query);
					return $row;
		}
Сам код как пытаюсь вывести:
Код:
$Surix_Razdels=new Razdels($sql_dop);
				echo '<h3>Разделы</h3>';
				$Row_R=$Surix_Razdels->Get_Information();
					echo $Row_R[1],'<br>';
В чем я дебил?
CodeNOT вне форума Ответить с цитированием
Старый 14.04.2011, 16:23   #2
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Ну чисто технически функция Get_information() возвращает массив( массив - значений полей некой строки из выборки, то есть первой строки результата работы этого запроса
Цитата:
SELECT * FROM ".$this->R_Sql."TestRazd ORDER BY RazdelId"
).
ssdm вне форума Ответить с цитированием
Старый 14.04.2011, 16:28   #3
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

хм, тогда почему в данном случае я получаю все записи из таблицы:
Код:
$query="SELECT * FROM ".$this->R_Sql."TestRazd ORDER BY RazdelId";
				$Result_query=mysql_query($query) or die('Ошибка получения информации о разделах');
				while($row=mysql_fetch_row($Result_query))
                                {
                                           echo $row[1],'<br>';
                                 }
CodeNOT вне форума Ответить с цитированием
Старый 14.04.2011, 16:34   #4
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Код:
while($row=mysql_fetch_row($Result_query))
                                {
                                           echo $row[1],'<br>';
                                 }
потому что здесь у вас цикл while .

Add:
Вам нужно получить именно массив строк , или достаточно только массив состоящий из значение некоего столбца выборки ?
ssdm вне форума Ответить с цитированием
Старый 14.04.2011, 16:38   #5
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

массив строк, т.е. у меня в таблице несколько столбцов, я хочу их получить, в принципе пришла следующая идея сформировать сам массив и получить его но как обычно вышла какая - то ересь
Код:
for($Array=array();$row=mysql_fetch_row($Result_query);$Array[]=$row);
						return $Array;
CodeNOT вне форума Ответить с цитированием
Старый 14.04.2011, 16:41   #6
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Код:
function Get_Information()
{
    $query="SELECT * FROM ".$this->R_Sql."TestRazd ORDER BY RazdelId";
    $Result_query=mysql_query($query) or die('Ошибка получения информации о разделах');
    $arr = array();
    while($row=mysql_fetch_row($Result_query)){
        array_push($arr,$row);
    }
    return $arr;
}
То есть на выходе получаете массив массивов( он же двумерный массив).

Последний раз редактировалось ssdm; 14.04.2011 в 16:43. Причина: ADD
ssdm вне форума Ответить с цитированием
Старый 14.04.2011, 16:45   #7
CodeNOT
Форумчанин
 
Аватар для CodeNOT
 
Регистрация: 08.11.2010
Сообщений: 593
По умолчанию

Хм, спасибо, извините что тупой!
CodeNOT вне форума Ответить с цитированием
Старый 14.04.2011, 17:28   #8
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Цитата:
Сообщение от ssdm Посмотреть сообщение
Код:
function Get_Information()
{
    $query="SELECT * FROM ".$this->R_Sql."TestRazd ORDER BY RazdelId";
    $Result_query=mysql_query($query) or die('Ошибка получения информации о разделах');
    $arr = array();
    while($row=mysql_fetch_row($Result_query)){
        array_push($arr,$row);
    }
    return $arr;
}
То есть на выходе получаете массив массивов( он же двумерный массив).
Изобретаем велосипеды?) Как бы в наличии есть готовая функция mysql_fetch_array - и вот вам готовый массив
Cronos20 вне форума Ответить с цитированием
Старый 14.04.2011, 18:30   #9
ssdm
Форумчанин
 
Регистрация: 20.05.2009
Сообщений: 506
По умолчанию

Цитата:
Изобретаем велосипеды?)
Нет

Цитата:
Как бы в наличии есть готовая функция mysql_fetch_array - и вот вам готовый массив
Как бы ещё есть mysql_fecth_assoc .
А теперь почитайте в доках чем эти три функции отличаются и что у них общего.
ssdm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возвращение двухмерного массива из функции Exeil Общие вопросы C/C++ 11 24.10.2010 12:41
Сортировка массива записей Юляшко Паскаль, Turbo Pascal, PascalABC.NET 5 28.04.2010 13:57
Возвращение функцией массива GonZaleZ Общие вопросы C/C++ 7 21.09.2009 13:56
Соединение с мускулом из Delphi через объект TMySqlClient CyberJohn БД в Delphi 0 05.04.2009 22:18
Возвращение массива символов char ActioNs Общие вопросы C/C++ 3 10.01.2009 02:33