Перевод данных из MySQL в двумерный массив.

linx

Новичок
Перевод данных из MySQL в двумерный массив.

Сразу говорю, я в PHP новичок. Очень понравился язык, похож на С++.
Ну так вот суть проблемы:
Не могу перевести таблицу MySQL в двумерный массив. Если кто знает, помогите:
Вот мой код:
PHP:
$conn = mysql_connect("localhost","root","");
$select = mysql_select_db("linx",$conn);
$sql="SELECT * FROM shans_bd";
$result = mysql_query($sql,$conn);
while ($row = mysql_fetch_array($result)) {
$jj++;
$arr= array( $jj => array($row[1], $row[2], $row[3], $row[4], $row[5])); 
}
for ($j=1; $j<=$jj; $j++){
for ($l=1; $l<=5; $l++){
print "$arr[$j][$l] ";
}
print "<br>";
}
З.Ы. Юзал поиск, нечего не нашел.
 

Dreammaker

***=Ф=***
Не особо вдумывался в задачу, но
по идее в данном случае не mysql_fetch_array,
а [m]mysql_fetch_row[/m] нужно..
 

linx

Новичок
Андрейка
Незнаю, я так, наугад, из С++ взял.

А не мог ли бы вы написать пример заполнения массива?
 

Андрейка

Senior pomidor developer
linx
ой, а ты еще и с++ знаешь? ок.. представим что это на ++ написано... объясни что делает каждая строка начиная с 1 while
ЗЫ. а сиплюсники уже переменные не инициализируют?
 

linx

Новичок
ну на C++ это так бы звучало (заполнение массива):
Ну в этом отрывек программы в цикле while каждый раз строка из MySQL передается в одномерный массив $row, а вот как изъять его в двумерный массив? (чтобы в следствии перевести всю таблицу в массив)

Как на С++ брать данные из MySQL я не знаю (помоему тама так нельзя) ну а заполнить массив это легко...
Код:
{int arr[100][100];
int i,j;
for (i=1; i<6; i++; ) {
for (j=1; j<max; j++; ){
cin>>arr[i][j];
}
}
Если не смотреть на описание переменных и их запись с $ (как в ПХП то языки оч. похожи)

Да и кстати, мне тут кто нить поможет с моим вопросом?

как записывать в двумерный массив таблицу MySQL ну и естественно как обращаться к нему для вывода значений.
 

Андрейка

Senior pomidor developer
linx
ты цифру один (выглядит как 1) от цифры два(2) отличить можешь? а найти первое(1, один) слово while в коде?
PHP:
while ($row = mysql_fetch_array($result)) { 
$jj++; 
$arr= array( $jj => array($row[1], $row[2], $row[3], $row[4], $row[5]));  
}
вот это объясни плиз.. (предположим в твоей версии с++ mysql_fetch_array возвращает массив)
 

phpcoder

Новичок
Автор оригинала: Dreammaker
Не особо вдумывался в задачу, но
по идее в данном случае не mysql_fetch_array,
а [m]mysql_fetch_row[/m] нужно..
С чего же это? Прежде чем посылать в документацию, читайте её сами!
mysql_fetch_row -- Орабатывает ряд результата запроса и возвращает неассоциативный массив.
mysql_fetch_array -- Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба.
Важно заметить, что mysql_fetch_array() работает НЕ медленне, чем mysql_fetch_row(), в то время, как предоставляет более удобный доступ к данным.

Второй опциональный аргумент result_type в функции mysql_fetch_array() -- константа и может принимать следующие значения: MYSQL_ASSOC, MYSQL_NUM и MYSQL_BOTH. Эта возможность добавлена в PHP 3.0.7. Значением по умолчанию является: MYSQL_BOTH.
 

Nogrogomed

Новичок
while ($row = mysql_fetch_array($result)) {
$jj++;
$arr= array( $jj => array($row[1], $row[2], $row[3], $row[4], $row[5]));
}
Напиши здесь:
1. Что ты хочешь увидеть в массиве $arr
2. Пройдись по циклу и напиши что будет на выходе цикла в переменной $arr
3. Задумайся над сишным циклом, и скажи что в нем неправильно:
Код:
int arr[];
int i=0;
while (i<3)
 arr=i;
После этого посмотри на свой пхп-код. и скажи что там неправильно

Почитай вот это:как выводить элементы массива в строках
 

linx

Новичок
Всем спасибо (особенно за справочник по PHP), въехал, теперь я стал чуть чуть умнее =)
А вы я тут погляжу совсем Жгёте.
 
Сверху