С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.74/19: Рейтинг темы: голосов - 19, средняя оценка - 4.74
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19

Вывод категорий из бд списком в несколько столбцов с навигацией сверху

30.11.2012, 23:00. Показов 3974. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята помогите пожалуйста с решением непростой для меня задачки, а то у меня мозг уже на грани)

В общем хочу сделать у себя на сайте вывод категорий как на сайте см рис ниже
На главной странице сверху должна выводиться главная родительская категория и ниже все категории, которые непосредственно к ней относятся в несколько столбцов например в 4 или 5. Причем главная родительская категория еще является первым элем навигации.


Когда человек кликает по любой дочерней категории не зависимо от уровня вложенности сверху к главной родительской категории добавляются пункты меню см рис ниже. Таким образом мы всегда видим в какой категории находимся и можем перемещаться по каталогу одним кликом. очень удобно. см рис ниже


И еще сделано очень интересно, что когда человек добирается до категории где уже товары
слева выводятся все категории а справа товары, очень удобно перемещаться


Я сделал таблицу категорий следующего вида:
id
parent_id
category_name
Вложение 207433
создал файл catalog.php который по клику на категорию передает себе значения category_id
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
if (isset($_GET['category_id'])) {$category_id = $_GET['category_id'];} 
else {$category_id=1;}
 
/*В это блоке рнр кода выводим список категорий*/
 
$result = mysql_query ("SELECT * FROM categories 
WHERE parent_id='0' ORDER BY category_name",$db);
 
while ($myrow = mysql_fetch_array($result)) 
{   
printf ("<p><a href='catalog.php?category_id=%s'>%s</a></p>",
$myrow['id'],$myrow['category_name']);
 
$subcat_result = mysql_query ("SELECT * FROM categories 
WHERE parent_id = $category_id ORDER BY category_name",$db);
 
    while ($subcat_row = mysql_fetch_array($subcat_result))
    {
printf ("<p style='padding-left:20px;'><a href='catalog.php?category_id=%s'>%s</a></p>",
$subcat_row['id'],$subcat_row['category_name']);
 
    }
}
в итоге с помощью такого кода выводится только это:

Название: my1.jpg
Просмотров: 454

Размер: 3.8 Кб
Название: my2.jpg
Просмотров: 455

Размер: 10.2 Кб
Название: my3.jpg
Просмотров: 453

Размер: 6.0 Кб

не пойму как навигацию сверху сделать от главной категории к дочерним
и запросов кажется много к базе происходит ИМХО

Думаю эта тема многим интересна помогите пожалуйста разобраться кто чем может.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.11.2012, 23:00
Ответы с готовыми решениями:

Вывод более 20 категорий списком в админке
Добрый день. Как в админке вордпресса изменить вывод списком более 20 категорий. В конкретном моем случае нужно отсортировать как хочет...

Организовать вывод на форму поля со списком (ListBox) и заполнить несколько его строк.
Организовать вывод на форму поля со списком (ListBox) и заполнить несколько его строк. Организовать по выбору (отметке) некоторых действий,...

Вывод в несколько столбцов в TreeView
Добрый день! На форме имеется компонент TreeView, заголовки верхнего уровня представляют собой СОМ-порты системы, а подзаголовки -...

25
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
01.12.2012, 12:47  [ТС]
Народ ну помогите чтоли, неужели никто не знает как эту штуку реализовать
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
01.12.2012, 16:19
структуру таблиц покажите из бд

Добавлено через 7 минут
и get запросы при передвижении по категориям
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
01.12.2012, 17:20  [ТС]
alpex
структура таблиц такая, выклыдываю таблицы категорий, товаров и связка товары и категории
таблица categories


таблица products


таблица product_category


Get параметр передается только один это переменная categori_id, которая соответствует полю id в таблице categories, в начале темы я как раз выложил код где указано как передается этот параметр

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if (isset($_GET['category_id'])) {$category_id = $_GET['category_id'];} 
else {$category_id=1;}// это проверка нажал ли пользователь на ссылку
если не нажал или обрезал ссылку category_id = 1 не знаю правильно ли я делаю 
что 1 присваиваю, так как дубль страницы получается catalog.php и catalog.php?category_id=1
 
/*В это блоке рнр кода выводим список категорий*/
 
$result = mysql_query ("SELECT * FROM categories 
WHERE parent_id='0' ORDER BY category_name",$db);
 
while ($myrow = mysql_fetch_array($result)) 
{   
printf ("<p><a href='catalog.php?category_id=%s'>%s</a></p>",
$myrow['id'],$myrow['category_name']);
 
$subcat_result = mysql_query ("SELECT * FROM categories 
WHERE parent_id = $category_id ORDER BY category_name",$db);
 
    while ($subcat_row = mysql_fetch_array($subcat_result))
    {
printf ("<p style='padding-left:20px;'><a href='catalog.php?category_id=%s'>%s</a></p>",
$subcat_row['id'],$subcat_row['category_name']);
 
    }
}
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
01.12.2012, 17:24
это код который принимает а не передает, а в адресной строке что тоже 1 параметр идет?
просто мне кажется что с одним параметром такое количество переходов(структуру) никогда не сделаешь
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
01.12.2012, 17:39  [ТС]
когда пользователь нажимает на любую ссылку категорию в файл catalog.php передается get параметр category_id и на основе его посетитель попадает в соответствующую категорию

alpex, может подскажите какие еще параметры добавить чтобы задачку решить мою
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
01.12.2012, 17:48
сегодня ночью попробую сделать
у вас так идет ?
категория - подкатегория - товар
было бы неплохо еще если бы вы дамп базы этих таблиц сбросили
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
01.12.2012, 18:32  [ТС]
а как мне вам дамп базы сбросить)

Добавлено через 7 минут
нет к сожалению все намного сложнее

например chevrolet>chevrolet lacetti>Кузовные детали>Бампер передний>товары

т.е. уже когда пользователь дошел до последней вложенной категории (бампер передний) слева в один столбец будут выводиться все категории относящиеся к Кузовные детали (Бампер передний,Дверь и т.д), а справа уже будут выводиться все товары относящиеся к категории Бампер передний. На фотке в начале теме я выложил скрины сайта образца (SMTAUTOтчкRU)

Добавлено через 10 минут
у меня тут мысли кстати вот в каком направлении

или
попробовать как то сделать чтобы имя категории с текущим id заносилось в массив и с каждым переходом посетителя вглубь в массив добавляются новые значения в виде ссылок. В итоге в массиве поидее когда посетитель уже смотрит товар находятся ссылки $a[ Автозапчасти][chevrolet][chevrolet lacetti] [Кузовные детали][Бампер передний], а сам конкретный товар в навигацию уже не должен попадать поэтому в массиве его нет.

или
другой вариант использовать parse_url query и запоминать каждый переход пользователя таким способом

Даж не най)
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
01.12.2012, 18:42  [ТС]
alpex, я так понимаю вам нужна сама моя бд
autofavorit.rar
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
02.12.2012, 04:27  [ТС]
вобщем всю ночь промучился вот что получилося:


Название: new3.jpg
Просмотров: 314

Размер: 3.1 Кб

как видите категории выводятся сверху нормально. Я решил еще немного доработать код и в нем же выводить снизу подкатегории. но выводятся почему то только первая попавшаяся запись, не доганяю почему. Вернее вардампом проверил в $data изначально почему то помещается несколько раз одна и та же подкатегория, хотя условие вроде, если я не ошибаюсь: выбрать из таблицы categories все категории parent_id которых равен текущему значению $category_id

вот сам код:


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$result = mysql_query ("SELECT * FROM categories WHERE `parent_id` = $category_id",$db);
$data = mysql_fetch_array($result);
do
{
 $subcat[] = '<a href="catalog.php?category_id='.$data['id'].'">'.$data['category_name'].'</a>';
 
}
while (mysql_fetch_array($result));
     
$end = ($data['parent_id']==0);
 while (!$end)
 {
       $result = mysql_query ("SELECT * FROM categories WHERE id = $data[parent_id] LIMIT 1",$db);
       $data =mysql_fetch_array($result);
       $end = ($data['parent_id']==0);
       $breadcrumbs[] =  '<a href="catalog.php?category_id='.$data['id'].'">'.$data['category_name'].'</a>';
         
 }
 echo implode(' &raquo; ',array_reverse ( $breadcrumbs )); 
    
for ($i=0; $i<=count($subcat);$i++)
{
echo "<br>".$subcat[$i];
}
теперь нужно чтобы нормально выводились подкатегории, которые под основной строчкой.

И еще не знаю как реализовать, нужно чтобы когда посетитель добрался до последней вложенной категории в нашем случае "бампер передний" справа выводились все товары этой категории, т.е. наличие всех бамперов, как на картинке в самом начале темы.

ну усе погреб спать)
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
02.12.2012, 07:40
в той базе которую вы сбросили , помоему не хваттает еще одного уровня категорий, что бы было как на скринах в первом сообщении
вобщем я сделал вам скрипт который можно будет легко расширять и изменять в дальнейшем, и постарался как можно подробнее все описать
прочтите все комментарии и измените, там где стоит отметка //TODO, данные на свои
я изменил способ передачи get запроса теперь он будет включать в себя всю иерархию вложений категорий, за сччет чего уменьшились обращения к базе
html и css уже как нибудь сами ,я там пытался что то подогнать но там все криво))
Также можно легко добавить любое количество вложений категорий я отметил в коментариях что и где нужно заменить
вообщем вот скрипт если что то непонятно спрашивайте
Кликните здесь для просмотра всего текста
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
<?php
error_reporting(-1);
 
/** ************************** функция для подключения к бд *************************/
/**
 * connect()
 * функция для подключения к серверу MySQL и выбора базы
 * Возвращает дескриптор соединения с БД MySQL 
 * @return object mysql $link
 */
function connect()
{
    // создаем статическую переменную для хранения дескриптора соединения с БД
    static $link = null;
    // если вызвана впервые то соединяемся
    if ($link === null){
        $link = mysql_connect('localhost', 'root', '') or die('ERROR connect');
        mysql_select_db('auto', $link) or die('ERROR select db');
    }
    // возвращаем дескриптор
    return $link;
}
/** ************************ константа с адресом хоста ******************************/
 
define('HOST_HTTP', 'http://www.localhost/test/'); // TODO: здесь нужно поменять на свой хост!!
 
/** ****************************** Контроллер ***************************************/
// если есть GET запрос с ктаегорией был
if (!empty($_GET['categories'])){
    
    // разбиваем в массив категории
    $request = explode('/', $_GET['categories']);
    // фильтруем массив, оставляя только числа, защищая таким образом от SQL-injection
    $request = array_filter($request, create_function('$var', 'return (int) $var;'));
 
} else {
    // если параметров передано не было категория по умолчанию
    $request = array(1);
}
 
// в зависимости от количесва запрошенных параметров вызываем различные модели
switch(count($request)) :
    // при добвлении еще уровней категорий нужно увеличить параметр(4) на количество добавлениых вложений
    case 4 : // при 4 параметрах начинаем выбирать продукты
        $products = productModel($request);
        $leftmenu = leftmenuModel($request);
        break;
    // эти пункты можно вообще удалить оствив только default, но лучше не стоит ;-)
    // если вложеность будет добавляться то сюда нужно будет добавлять пункты
    // например если добавить еще один уровень вложености категорий, то здесь нужно добавть case 4 а выше изменить на case 5
    case 3 :
    case 2 :
        $categories = categoryModel($request);
        break;
    // по умолчанию     
    default: // этот пункт можно было бы обьединить с верхними, но я решил для оставить так? что даст возможность легче изменить дефолтную модель при необходимости )
        $categories = categoryModel($request);
        break;
endswitch;
 
// помещаем в переменную $menu html код хлебных крошек, мета теги, тайтл страницы
$menu = breadcrumbsModel($request);
// импортируем вложенные данныеиз массива для доступа к данным через переменные
extract($menu);
 
/** ********************************** Модели ***************************************/
 
/**
 * categoryModel()
 * Модель выбора категорий
 * 
 * @return array $categories
 */
function categoryModel(array $request)
{
    // получаем дескриптор соединения с БД
    $db = connect();
    
    // инициализация переменных
    $categories = array();
    
    // выбираем последнюю категорию из массива для sql запроса
    if (1 < count($request)){
        $category = array_pop($request);
    } else {
        // если категорий меньше 2 ставил дефолтное значение
        $category = 1;
    }
    
    $sql = "SELECT `id`, `parent_id`, `category_name`
            FROM `categories`
            WHERE `parent_id` = '$category'
            ORDER BY `category_name`";
    $query = mysql_query($sql, $db);
    
    while ($result = mysql_fetch_assoc($query)){
           $categories[] = $result;
    }
    // возвращаем массив с категориями
    return $categories;
}
 
// 
/**
 * productModel()
 * модель выбора продуктов
 * 
 * @return array $products
 */
function productModel(array $request)
{
    // получаем дескриптор соединения с БД
    $db = connect();
    
    // инициализация переменных
    $products = array();
    
    // выбираем последнюю категорию из массива для sql запроса
    $product = array_pop($request);
    $sql = "SELECT p.`id`, p.`product_name`, p.`price`, p.`image`, `title`
            FROM `products` AS p
            INNER JOIN `product_category` AS pc
            ON pc.`category_id` = {$product}
            AND pc.`product_id` = p.`id`
            ORDER BY `product_name`";
    $query = mysql_query($sql, $db);
    
    while ($result = mysql_fetch_assoc($query)){
           $products[] = $result;
    }
    // возвращаем массив
    return $products;
}
 
/**
 * breadcrumbsModel()
 * модель "хлебных крошек" 
 * 
 * @return array $menu
 */
function breadcrumbsModel(array $request)
{
    // получаем дескриптор соединения с БД
    $db = connect();
    
    // инициализация переменных
    $menu = array();
    $menu['html'] = '';
    $menu['anchor'] = HOST_HTTP . 'article.php?categories='; // TODO: здесь нужно поменять на свою страницу!!
    
    // разбиваем массив в строку для sql запроса
    $where = implode(', ', $request);
    $sql = "SELECT `id`, `parent_id`, `category_name`, `title`, `meta_d`, `meta_k`
            FROM `categories`
            WHERE `id` IN ({$where})
            ORDER BY `parent_id`";
    $query = mysql_query($sql, $db);
    
    while ($result = mysql_fetch_assoc($query)){
        $menu['anchor'] = $menu['anchor'] . $result['id'] . '/';
        $menu['html'] .= "<a href='{$menu['anchor']}'>{$result['category_name']}</a> &rArr; "; 
        $last_query = $result;
    }
    // помещаем в массив мета теги последней выбранной категории
    $menu['meta_d'] = $last_query['meta_d'];
    $menu['meta_k'] = $last_query['meta_k'];
    $menu['title'] = $last_query['title'];
    // обрезаем последнюю стрелку из хлебных крошек
    $menu['html'] = mb_substr($menu['html'], 0, -8);
    // возвращаем массив
    return $menu;
    
}
 
/**
 * leftmenuModel()
 * модель левого меню
 * возвращает массив с категориями на один уровень выше продуктов
 * @return array $leftmenu
 */
function leftmenuModel(array $request)
{
    // получаем дескриптор соединения с БД
    $db = connect();
    // инициализация переменных
    $leftmenu = array();
    // удаляем последний елемент массива с id товара 
    array_pop($request);
    // формируем базу для ссылки аттрибута href
    $anchor = HOST_HTTP . 'article.php/?categories=' . implode('/', $request); // TODO: здесь нужно поменять на свою страницу!!
    // извлекаем id родительской категории
    $id = array_pop($request);
    $sql = "SELECT `id`, `category_name`
            FROM `categories`
            WHERE `parent_id` = '{$id}'
            ORDER BY `category_name`";
    $query = mysql_query($sql, $db);
    
    while ($result = mysql_fetch_assoc($query)){
        // формируем ссылки для аттрибута href
        $result['anchor'] = $anchor . '/' . $result['id'];
        $leftmenu[] = $result;
    }
    // возвращаем массив с названиями категорйи и ссылками для href
    return $leftmenu;
}
 
?>
<!-- Вид !-->
<!DOCTYPE html>
<html>
<head>
    <meta name="description" content="<?=$meta_d ?>" />
    <meta name="keywords" content="<?=$meta_k ?>" />
    <title><?=$title ?></title>
</head>
<body>
<div id="wrapper"><!-- #wrapper -->
 
    <div style="margin-bottom: 50px;"><!-- "Хлебные крошки" -->
        <?=$menu['html'] ?>
    </div>
    <? if (isset($categories)) : ?><!-- Вывод категорий -->
    <div>
    <? foreach ($categories as $category) : ?>
        <div style="display: inline-block;height: 80px;width: 220px;text-align: center;">
            <a href="<?=$anchor . $category['id'] ?>"><h3><?=$category['category_name'] ?><h3></h3></a>
        </div>
    <? endforeach ?>
    </div>
 
    <? elseif (isset($products)) : ?>
    <div style="width: 250px;float: left;">
        <? foreach ($leftmenu as $item) : ?><!-- Вывод категорий в левой колонке -->
        <li><a href="<?=$item['anchor'] ?>"><?=$item['category_name'] ?></a></li>
        <? endforeach ?>
    </div>
    
    <div style="float: right;">
    <? foreach ($products as $product) : ?><!-- Вывод продуктов -->
        <table>
            <tr>
            <td><img src="<?=HOST_HTTP . $product['image'] ?>" /></td>
            <td><p><a href="<?=HOST_HTTP . 'product.php/show=' . $product['id'] ?>"><?=$product['product_name'] ?></a></p><!-- переход на страницу продукта product.php, хотя я бы лучше сделал всплывающее модальное окно, и красивее и удобнее в данном случае -->
                <p><?=$product['title'] ?></p></td>
            <td><p><?=$product['price'] ?></p>
                <a href="<?=HOST_HTTP . 'basket.php/add=' . $product['id'] ?>">В корзину</a></td><!-- переход на скрипт корзины basket.php -->
            </tr>
        </table>
        <hr />
    <? endforeach ?>
    </div>
    <? endif ?>
<div id="wrapper"><!-- end #wrapper -->
</body>
</html>

ps не смотрите больше попова
1
02.12.2012, 14:00

Не по теме:

Цитата Сообщение от alpex Посмотреть сообщение
* @return object mysql $link
уверены? :)

0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
02.12.2012, 14:05
да дествительно, там ресурс
хотя mysqli_connect возвращает обьект, я поэтому и написал так по памяти не проверяя
а как вобще скрипт, так сказать с точки зрения профессионала?
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
02.12.2012, 16:48  [ТС]
alpex, спасибо за потраченное время сейчас посмотрю

Добавлено через 14 минут
alpex, спасиб за проделанную работу, блин с этим кодом я доолго разбираться буду)))

Кстати почему Попова не слушать
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
02.12.2012, 16:55
про попова очень много тем на форуме, через поиск поищте
а со скиптом там все просто, пока разберетесь как раз может новое что то узнаете
если есть непонятные функции то здесь можно все прочитать
ну работает так как нужно?
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
02.12.2012, 17:04  [ТС]
alpex, да пока не знаю щас буду пробовать

я кстати тоже код ночью делал, выложил здесь а его почему то удалили

Добавлено через 11 секунд
щас покажу

Добавлено через 1 минуту
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$result = mysql_query ("SELECT * FROM categories WHERE `parent_id` = $category_id",$db);
$data = mysql_fetch_array($result);
do
{
 $subcat[] = '<a href="catalog.php?category_id='.$data['id'].'">'.$data['category_name'].'</a>';
 
}
while (mysql_fetch_array($result));
     
$end = ($data['parent_id']==0);
 while (!$end)
 {
       $result = mysql_query ("SELECT * FROM categories WHERE id = $data[parent_id] LIMIT 1",$db);
       $data =mysql_fetch_array($result);
       $end = ($data['parent_id']==0);
       $breadcrumbs[] =  '<a href="catalog.php?category_id='.$data['id'].'">'.$data['category_name'].'</a>';
         
 }
 echo implode(' &raquo; ',array_reverse ( $breadcrumbs )); 
    
for ($i=0; $i<=count($subcat);$i++)
{
echo "<br>".$subcat[$i];
}
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
02.12.2012, 17:05
Цитата Сообщение от Sergio_7 Посмотреть сообщение
я кстати тоже код ночью делал, выложил здесь а его почему то удалили
его не удаляли он на первой странице
вы там в цикле к базе обращаетесь это нехорошо
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
02.12.2012, 18:30  [ТС]
так то да, но там ведь ограничение стоит что только одну записьвытащить и остановиться

Добавлено через 1 минуту
PHP
1
2
$result = mysql_query ("SELECT * FROM categories WHERE `parent_id` = $category_id",$db);
$data = mysql_fetch_array($result);
я вот не пойму почему из базы достаются одни и те же подкатегории а не все относящиеся к родителю

Добавлено через 7 минут
alpex, кстати да одного уровня категорий не хватало, я его потом добавил

Добавлено через 58 минут
alpex, ВСЕ РАБОТАЕТ ВСЕ КРУТО ВАМ РЕСПЕКТ

Добавлено через 12 минут
alpex, кстати работать стало как только я строчку закомментировал
PHP
1
$menu['html'] = mb_substr($menu['html'], 0, -8);
а так ошибку выдает
Fatal error: Call to undefined function mb_substr() in X:\home\localhost\www\phpblog\parts.php on line 170
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
03.12.2012, 04:57
Цитата Сообщение от Sergio_7 Посмотреть сообщение
alpex, кстати работать стало как только я строчку закомментировал
Код PHP
1
$menu['html'] = mb_substr($menu['html'], 0, -8);
у вас что 4 версия php?

Добавлено через 44 секунды
эта строчка обрезает последнюю стрелочку, попробуйте просто substr поставить
0
 Аватар для Sergio_7
0 / 0 / 0
Регистрация: 30.11.2012
Сообщений: 19
03.12.2012, 08:32  [ТС]
нет версия PHP 5.2.4

Добавлено через 1 минуту
а может проблема из за того возникла что я вложенность категорий увеличил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
03.12.2012, 08:32
Помогаю со студенческими работами здесь

Вывод в Мемо в несколько столбцов
Здрасьте! Тут такое дело... Я заношу в мемо с Едита слово, затем еще одно и оно мне его заносит ниже первого, то есть в столбец. Можно ли...

SQL select вывод в столбец несколько столбцов
Помогите решить задачу: Нужно вывести фамилии и имена, разделенные пробелом фамилия должна быть написана заглавными буквами, имя...

Несколько моделей для формирования единого списка с постраничной навигацией
Доброго времени суток. Обычно бОльшую часть ответов нахожу самостоятельно, но этот конкретный вопрос мучает уже какое-то время и...

Вывод последних тем в несколько столбцов на главной странице форума phpBB
Дорогие друзья убедительно Вас пршу помочь, поскольку на сайте поддержки только предупреждения лепить могут, а помочь новичкам сил нет. ...

Прайс-лист, с многоуровневым списком категорий vba
Всем добрый день! Да, я уже изучал подобный вопрос в гугле и смотрел местные темы, но это не совсем то, что надо мне и есть наработки,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru