меню категорий, ошибка

148
17 августа 2018, 12:40

В коде ошибка, почему то не понимается функция. Может я использую устаревший PHP или наоборот слишком новую версию.

defined('INFOIN') or die('Access denied');
echo '';
/*====Каталог - получение массива====*/
function get_cat() {
  $query = 'SELECT * FROM `brands`';
  $res = mysql_query($query);
  if (!$res) {
    return null;
  }
  $cat = array();
  if (mysql_num_rows($res) != 0) {
    for ($i = 0; $i < mysql_num_rows($res); $i++) {
      $row = mysql_fetch_array($res, MYSQL_ASSOC);
      if (empty($cat[$row['parent_id']])) {
        $cat[$row['parent_id']] = array();
        //$cat[] = $row;
      }
      $cat[$row['parent_id']][] = $row;
    }
    //while($row = mysql_fetch_assoc($res)){
    //$cat[$row['brand_id']] = $row;      
    return $cat;
  }

  function view_cat($arr, $parent_id = 0) {
    if (empty($arr[$parent_id])) {
      return;
    }
    echo "<ul>";
    for ($i = 0; $i < count($arr[$parent_id]); $i++) {
      echo "<li><a href='?$brand_id=".$arr[$parent_id][$i]['id'].
      "$parent_id=".$parent_id.
      "'>".$arr[$parent_id][$i]['title'].
      "</a>";
      view_cat($arr, $arr[$parent_id][$i]['id']);
      echo "</li>";
    }
    echo "</ul>";
  }
}

Ошибка где-то в функции view_cat, может я не ту переменную записал, но мне кажется, что функция чего-то не делает, так как выводит undefined view_cat

Answer 1

Из-за вашего кривого форматирования, вы определили функцию view_cat() вложенной в функцию get_cat(). Понятно, что она у вас не видна снаружи. Вынесите ее в глобальную область видимости

defined('INFOIN') or die('Access denied');
echo '';
/*====Каталог - получение массива====*/
function get_cat() {
  $query = 'SELECT * FROM `brands`';
  $res = mysql_query($query);
  if (!$res) {
    return null;
  }
  $cat = array();
  if (mysql_num_rows($res) != 0) {
    for ($i = 0; $i < mysql_num_rows($res); $i++) {
      $row = mysql_fetch_array($res, MYSQL_ASSOC);
      if (empty($cat[$row['parent_id']])) {
        $cat[$row['parent_id']] = array();
        //$cat[] = $row;
      }
      $cat[$row['parent_id']][] = $row;
    }
    //while($row = mysql_fetch_assoc($res)){
    //$cat[$row['brand_id']] = $row;      
    return $cat;
  }
}
function view_cat($arr, $parent_id = 0) {
  if (empty($arr[$parent_id])) {
    return;
  }
  echo "<ul>";
  for ($i = 0; $i < count($arr[$parent_id]); $i++) {
    echo "<li><a href='?$brand_id=".$arr[$parent_id][$i]['id'].
    "$parent_id=".$parent_id.
    "'>".$arr[$parent_id][$i]['title'].
    "</a>";
    view_cat($arr, $arr[$parent_id][$i]['id']);
    echo "</li>";
  }
  echo "</ul>";
}
READ ALSO
Регистрация на AJAX

Регистрация на AJAX

Ребята ,пожалуйста подкорректируйте кодСделал вроде чтоб у каждого пользователя открывалась своя страничка под своим логином и паролем...

121
PHP. Строковое выражение в число

PHP. Строковое выражение в число

Как преобразовать строку в число, чтобы сразу показался результат арифметического умножения?

109
import класса , если страница генерируется PHP

import класса , если страница генерируется PHP

Пишу свой фреймворк на PHP и при генерации страницы в нее подключаются нужные файлы из ajax_modules

117
Не подключаются стили к WordPress - помогите

Не подключаются стили к WordPress - помогите

Я уже битый час мучаюсь с подключением стилей к WordPress, уже перепробовал буквально всеЕсли кто знает, как решить эту проблему, то, пожалуйста,...

119