|
|
|
| Всем привет!
Делаю функцию, которая должна выдавать массив такого вида:
arr[1]
arr[2] и т.д., т.е одномерый. С рекурсией не знаю как передавать массив в параметрах
вызов menu_left('catalog', 10)
function menu_left($tbl_catalog, $id_catalog, $arr = '')
{
$id_catalog = intval($id_catalog);
$query = "SELECT id_catalog, name, id_parent
FROM $tbl_catalog
WHERE id_parent = (SELECT id_parent FROM $tbl_catalog WHERE id_catalog='".$id_catalog."' LIMIT 1)
AND hide = 'show'
ORDER BY pos
LIMIT 0 , 30";
$cat = mysql_query($query);
if (!$cat) exit("Ошибка при обращении к каталогу");
if(mysql_num_rows($cat) > 0)
{
while($catalog = mysql_fetch_array($cat))
{
$arr .='текстовые данные';
$id_parent = $catalog['id_parent'];
}
$arr = menu_left($tbl_catalog, $id_parent, $arr);
}
return $arr;
}
|
| |
|
|
|
|
|
|
|
для: Амбер
(31.07.2010 в 17:15)
| | Я, видимо, что-то не понимаю..
$arr .='текстовые данные';
|
Вам массив нужен или строка? | |
|
|
|
|
|
|
|
для: neadekvat
(31.07.2010 в 17:18)
| | массив, который содержит строки
arr[0] = array("целая куча строк")
arr[1] = array("уже другая куча строк") | |
|
|
|
|
|
|
|
для: Амбер
(31.07.2010 в 17:20)
| | arr[0] = array("целая куча строк")
Под "целая куча строк" понимается одна запись с индексом [0][0] или много записей с разными индексами типа [0][n]
И вообще..если вам нужны массивы - то и собирайте данные в массивы:
$arr[] = "текст_текст";
$arr[] = вызов_функции(); | |
|
|
|
|
|
|
|
для: neadekvat
(31.07.2010 в 17:23)
| | Под "целая куча строк" понимается одна запись с индексом [0] | |
|
|
|
|
|
|
|
для: Амбер
(31.07.2010 в 17:26)
| | > т.е одномерый
> понимается одна запись с индексом [0]
> arr[0] = array("целая куча строк")
Че вы говорите? Вы понимаете смысл последней строки? И то, что вы хотите в результате точно понимаете?
И попробуйте собирать свои данные в массивы, как я показал.. Вдруг получите то, что так желаете получить? Просто я пока не очень понимаю, что вы там мутите. | |
|
|
|
|
|
|
|
для: neadekvat
(31.07.2010 в 17:28)
| | ага, уже получил, Спасибо!
и публикую.
Array
(
[0] => Целая куча строк 1
[1] => Целая куча строк 2
[2] => Целая куча строк 3
)
function menu_left($tbl_catalog, $id_catalog, $arr = '' )
{
$id_catalog = intval($id_catalog);
$query = "SELECT id_catalog, name, id_parent
FROM $tbl_catalog
WHERE id_parent = (SELECT id_parent FROM $tbl_catalog WHERE id_catalog='".$id_catalog."' LIMIT 1)
AND hide = 'show'
ORDER BY pos
LIMIT 0 , 30";
$cat = mysql_query($query);
if (!$cat) exit("Ошибка при обращении к каталогу");
if(mysql_num_rows($cat) > 0)
{
while($catalog = mysql_fetch_array($cat))
{
$line .='строки';
$id_parent = $catalog['id_parent'];
}
$arr[] = $line;
$arr = menu_left($tbl_catalog, $id_parent, $arr);
}
return $arr;
}
|
| |
|
|
|