Помогите с функцией в цикле!

Статус
В этой теме нельзя размещать новые ответы.

NetStranger

Постоялец
Регистрация
16 Сен 2008
Сообщения
124
Реакции
1
Код:
function get($parent){
 $CI =& get_instance();
 $CI->load->database();
 $result = $CI->db->query("SELECT menu_parent FROM menu WHERE id = '$parent'");
     if ($result->num_rows() > 0) {
       $key = $CI->db->query("SELECT controller FROM menu WHERE id = '$parent'")->row()->controller;
        $par = $result->row()->menu_parent;
     get($par);
                                  }
}
$keys = get($parent);

Помогите пожалуйста, уже не первый раз встречаюсь с проблемой, не могу в данном цикле собрать результаты цикла в одну переменную.
За каждый цикл, переменная key получает определенное значение , глубина цикла до 3 уровня. Как мне сделать чтобы все результаты данной функции занеслись в переменную keys ? мне нужно чтобы там были данные в виде " key1, key2, key3 " , где key1, key2, key3 соответвенно результаты запросов в БД внутри цикла внутри функции get ! Очень нужно! не могу сообразить =(
 
ваша функция вобще не возвращает никаких значений.
PHP:
function get($parent){
	$CI =& get_instance();
	$CI->load->database();
	$result = $CI->db->query("SELECT menu_parent FROM menu WHERE id = '$parent'");
	$key = "";
	if ($result->num_rows() > 0) {
		$key = $CI->db->query("SELECT controller FROM menu WHERE id = '$parent'")->row()->controller;
		$par = $result->row()->menu_parent;
		$key .= "," . get($par);
    }
	return $key;
}
$keys = get($parent);
 
ох здоровья тебе мил человек))) заработало!

ps я может и сам догадаюсь но если в голову быстрее прийдет кому то то мне нужно чтобы они в обратном порядке собирались
key3, key2, key1
 
Собирать данные в массив

PHP:
$key = array();
...
$key[] = get($par);

//затем делаем реверс массива
$key = array_reverse($key);
return implode(', ', $key);
 
PHP:
function get($parent){
    $CI =& get_instance();
    $CI->load->database();
    $result = $CI->db->query("SELECT menu_parent FROM menu WHERE id = '$parent'");
    $key = array();
    if ($result->num_rows() > 0) {
        $key = $CI->db->query("SELECT controller FROM menu WHERE id = '$parent'")->row()->controller;
        $par = $result->row()->menu_parent;
        $keys[] = get($par);
    }
    return $keys;
}
$keys = array_reverse( get($parent) ); 
$keys = implode(',', $keys);
 
спасибо всем, с массивами я чо то не осилил, сделал тупо
Код:
$keys = get($val['parent']);
$array = explode(',',$keys);
$array = array_reverse($array);
$keys = implode(',',$array);
 
спасибо всем, с массивами я чо то не осилил, сделал тупо
Код:
$keys = get($val['parent']);
$array = explode(',',$keys);
$array = array_reverse($array);
$keys = implode(',',$array);
так опишите, какие проблемы возникли?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху