blackdarthvader
@blackdarthvader
Только учусь кодить ^_^

Как вывести массив из функции?

Здравствуйте.

Есть таблица в БД с такой структурой
jtCgBpjBl2g.jpg

Она содержит 10 записей. Проблема в том, что когда я вывожу из нее данные, у меня не выводится самая первая запись в БД с id 1, а все остальные выводятся. Не пойму в чем может быть проблема.

Вот функция
function get_menu()
    {
        db_connect();

        $result = mysql_query("select * from menu where parent='none' ORDER BY id");
        
        while($row = mysql_fetch_array($result))
        {   
            $res_array[$count] = $row;
            $count++;
        }

        return $res_array;
    }


Вот вывожу на сайте
<?php
    $menu = get_menu();
?>
<ul>
<?php
    foreach($menu as $item):
    $submenu = get_submenu($item['link']);
?>
	<li><a href="http://<?=$_SERVER['HTTP_HOST'] . $item['link'];?>" target="_blank"><?=$item['title'];?></a></li>
<?endforeach;?>
</ul>
  • Вопрос задан
  • 291 просмотр
Решения вопроса 2
Я запустил ваш код, только без функции get_submenu.
В базу залил 10 строк с параметром parent = none.
Код вывел все 10 строк.
Однако. Вы видели какой массив возвращает ваша функция? Это ужасно.
array(10) {
  [""]=>
  array(8) {
    [0]=>
    string(1) "1"
    ["id"]=>
    string(1) "1"
    [1]=>
    string(7) "asdasdf"
    ["tittle"]=>
    string(7) "asdasdf"
    [2]=>
    string(11) "dsfdfdfdsfd"
    ["link"]=>
    string(11) "dsfdfdfdsfd"
    [3]=>
    string(4) "none"
    ["parent"]=>
    string(4) "none"
  }

массив можно привести к нормальному виду используя mysql_fetch_assoc вместо mysql_fetch_array.
вот результат вывода
array(10) {
  [""]=>
  array(4) {
    ["id"]=>
    string(1) "1"
    ["tittle"]=>
    string(7) "asdasdf"
    ["link"]=>
    string(11) "dsfdfdfdsfd"
    ["parent"]=>
    string(4) "none"
  }
Ответ написан
blackdarthvader
@blackdarthvader Автор вопроса
Только учусь кодить ^_^
Вот так сделал, работает

function get_menu()
    {
        db_connect();

        $result = mysql_query("select * from menu where parent='none' ORDER BY id");
        
        while($row = mysql_fetch_array($result))
        {   
            $res_array[] = $row;
        }

        return $res_array;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AloneCoder
@AloneCoder
[object Object]
Видимо у нее parent не 'none'
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы