[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Динамическое создание двумерного массива
McLotos
HELLO WORLD!
Подскажите плиз, как сгенерировать двумерный массив?
Я запутался, не могу понять как должен работать второй цикл
$sql=mysql_query("SELECT * FROM table1 ORDER BY Position");
$num_rows=mysql_num_rows($sql);
if ($num_rows!=='0')
{
$sql2=mysql_query("SELECT * FROM table2 ORDER BY Position");
$num_rows=mysql_num_rows($sql2);
if ($num_rows!=='0')
{
while ($res=mysql_fetch_assoc($sql))
{
$f[$res2['Position']][$res['Position']].="<a href=?section=$res[fsid]>$res[fsname]<br>";
while($res2=mysql_fetch_assoc($sql2))
{
$f[$res2['Position']][$res['Position']];
}
}
}
}




Спустя 9 минут, 41 секунда (29.02.2012 - 11:55) Rand написал(а):
По этому коду вообще не понятно, что ты хочешь. Почему после первого while ключ массива устанавливается из массива $res2 - ведь он ещё не создан?

И значение атрибута href не в кавычках.

Спустя 19 минут, 32 секунды (29.02.2012 - 12:15) sergeiss написал(а):
McLotos - забудь всё то, что ты написал в этой теме, и сделай правильный запрос. Чтобы он сразу выдавал то, что тебе нужно. Тогда ты в ПХП сможешь сделать выборку легко и просто. И это будет более правильно.

Спустя 4 минуты, 7 секунд (29.02.2012 - 12:19) McLotos написал(а):
sergeiss
Пробовал, но всё-равно прихожу к такому варианту.
Вот, откопал пример в инете.
$arr[0][0]="Овощи";
$arr[0][1]="Фрукты";
$arr[1][0]="Абрикос";
$arr[1][1]="Апельсин";
$arr[1][2]="Банан";
$arr[2][0]="Огурец";
$arr[2][1]="Помидор";
$arr[2][2]="Тыква";

// Выводим элементы массива:
echo "<h3>".$arr[0][0].":</h3>";
for ($q=0; $q<=2; $q++) {
echo $arr[2][$q]."<br>";
}
echo "<h3>".$arr[0][1].":</h3>";
for ($w=0; $w<=2; $w++) {
echo $arr[1][$w]."<br>";
}

Мне нужно сделать так же, только динамически.
В результате должно получится так
Овощи:

Огурец
Помидор
Тыква
Фрукты:

Абрикос
Апельсин
Банан

И ещё, я почему-то упустил этот момент. Во сторой таблице (table2) имеется пункт Parent, который указывает какая строка первой таблицы является родительской для этого элемента.

Спустя 6 минут, 54 секунды (29.02.2012 - 12:26) McLotos написал(а):
Цитата (Rand @ 29.02.2012 - 14:55)
По этому коду вообще не понятно, что ты хочешь. Почему после первого while ключ массива устанавливается из массива $res2 - ведь он ещё не создан?

И значение атрибута href не в кавычках.

Кстати, о ковычках. Пока не обязательно, в принципе и без них работает, а детали буду соблюдать когда разделю Bлогику и Vлогику

Спустя 11 минут, 2 секунды (29.02.2012 - 12:37) sergeiss написал(а):
Цитата (McLotos @ 29.02.2012 - 13:19)
И ещё, я почему-то упустил этот момент. Во сторой таблице (table2) имеется пункт Parent, который указывает какая строка первой таблицы является родительской для этого элемента.

Так вот это и говорит о том, что тебе надо это учесть в ОДНОМ запросе, которым выбрать все данные!!!
Не знаю, что ты пробовал и зачем ты привел пример какого-то "левого" массива. Но лучше сделай всё одним запросом. У тебя будет написано заметно меньше кода и логика скрипта (и запроса) будет достаточно простой и "прозрачной".

Спустя 17 минут, 37 секунд (29.02.2012 - 12:54) McLotos написал(а):
Join?
=(
Ничего не получается. Сделал так
$sql=mysql_query("SELECT * FROM $db_ForumSec,$db_ForumParts
WHERE $db_ForumParts.pSection=$db_ForumSec.fsid");
//$db_ForumParts.pSection - id родительской секции
$num_rows=mysql_num_rows($sql);
if ($num_rows!=='0')
{
while ($res=mysql_fetch_assoc($sql))
{
$f.="</br><a href=?s=$res[fsid]>$res[fsname]</br>
<a href=?s=
$res[fsid]&p=$res[pid]>$res[pName]</a>";
}
}

Форум преподавателей
Кафедра информационных дисциплин
Форум преподавателей
Кафедра РЭТ

Может не стоило объединять два запроса в один?

Спустя 41 минута, 49 секунд (29.02.2012 - 13:36) sergeiss написал(а):
McLotos - давай по порядку. Сначала делаем запрос, чтобы он был правильный. Ты в ПХПМайАдмин проверяешь, что данные получены верные. А потом уже будет вторая задача - забрать эти данные. Иначе ты мешаешь всё в кучу и в итоге сам себя запутываешь.

Спустя 32 минуты, 39 секунд (29.02.2012 - 14:09) McLotos написал(а):
Да, запрос правильный.


_____________
программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr
jQuery это попытка использовать АН-225 для перевозки зубочистки
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.