PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (13): « 1 2 3 [4] 5 6 7 8 9 ... » В конец

> Найдено сообщений: 183
Heavenanvil Отправлено: 08 Февраля, 2017 - 15:40:29 • Тема: Вывести значения из таблицы циклом, сортируя по нужному полю • Форум: Вопросы новичков

Ответов: 25
Просмотров: 917
andrewkard, практически идеально.

Единственное, что мне нужно выводить не id_cat, а name_cat.

Для категорий у меня изменить получилось:

PHP:
скопировать код в буфер обмена
  1. foreach($rows as $row){
  2.     if(empty($row['parent'])){
  3.         $data[$row['id_cat']] = array();
  4.     }
  5. }
  6. foreach($rows as $row){
  7.     if(isset($data[$row['parent']])){
  8.     //было $data[$row['parent']][] = $row['id_cat'];
  9.            $data[$row['parent']][] = $row['name_cat'];
  10.     }
  11. }

А вот для родительских разделов, такой фокус не работает :(
Heavenanvil Отправлено: 08 Февраля, 2017 - 14:43:59 • Тема: Вывести значения из таблицы циклом, сортируя по нужному полю • Форум: Вопросы новичков

Ответов: 25
Просмотров: 917
Я извиняюсь, что так туплю, голова уже перегружена :)
Спасибо, что водитесь со мной

andrewkard пишет:
а в $rows я предполагал, что будут все строчки Вашей таблицы.

Получается, что:
PHP:
скопировать код в буфер обмена
  1. $request = mysql_query("SELECT * FROM `category`");
  2. $rows = mysql_fetch_array($request);


Чему что тогда в $data храниться должно?

Сам код сейчас выглядит вот так:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include("db.php");
  3. $sql_uft8 = mysql_query("SET NAMES 'utf8'");
  4. $request = mysql_query("SELECT * FROM `category`");
  5. $rows = mysql_fetch_array($request);
  6.  
  7. $data = array();
  8.  
  9. foreach($rows as $row){
  10.     if(!empty($row['main'])){
  11.         $data[$row['main']] = array();
  12.     }
  13. }
  14. foreach($rows as $row){
  15.     if(isset($data[$row['parent']])){
  16.         $data[$row['parent']][] = $row['id_cat'];
  17.     }
  18. }
  19.  
  20. ?>
  21. <ul class="1">
  22.     <?PHP foreach($data as $main => $categories){?>
  23.         <li>
  24.             <div class="2">Раздел <?=$main?></div>
  25.             <div class="3">
  26.                 <?PHP foreach($categories as $category){?>
  27.                     <a href="#" class="4">Категория <?=$category?></a>
  28.                 <?PHP } ?>
  29.             </div>
  30.         </li>
  31.     <?PHP } ?>
  32. </ul>

Вроде выводит, но некорректно. На зеркале у меня вообще ругается на:
PHP:
скопировать код в буфер обмена
  1. Warning: Illegal string offset 'parent' in .../site.ru/file.php on line 17


Сама структура таблицы сейчас выглядит вот так
Heavenanvil Отправлено: 08 Февраля, 2017 - 14:05:37 • Тема: Вывести значения из таблицы циклом, сортируя по нужному полю • Форум: Вопросы новичков

Ответов: 25
Просмотров: 917
Что-то я туплю, но ругается на квадратные скобки:
Parse error: syntax error, unexpected '[' in .../site.ru/file.php on line 14

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. include("db.php");
  3. $sql = mysql_query("SET NAMES 'utf8'");
  4.  
  5. function getCat($sql){
  6.         $sql = mysql_query("SELECT * FROM `category`");
  7.         $cat = array();
  8.         while($row = mysql_fetch_assoc($sql)){
  9.                 $cat[$row['id_cat']] = $row;
  10.         }
  11.         return $cat;
  12. }
  13. $rows = [];
  14. $data = [];
  15. foreach($rows as $row){
  16.     if(!empty($row['main'])){
  17.         $data[$row['main']] = [];
  18.     }
  19. }
  20. foreach($rows as $row){
  21.     if(isset($data[$row['cat']])){
  22.         $data[$row['cat']][] = $row['id'];
  23.     }
  24. }
  25.  
  26. ?>
  27. <ul class="1">
  28.     <?PHP foreach($data as $main => $categories){?>
  29.         <li>
  30.             <div class="2">Раздел <?=$main?></div>
  31.             <div class="3">
  32.                 <?PHP foreach($categories as $category){?>
  33.                     <a href="#" class="4">Категория <?=$category?></a>
  34.                 <?PHP } ?>
  35.             </div>
  36.         </li>
  37.     <?PHP } ?>
  38. </ul>
Heavenanvil Отправлено: 08 Февраля, 2017 - 13:39:12 • Тема: Вывести значения из таблицы циклом, сортируя по нужному полю • Форум: Вопросы новичков

Ответов: 25
Просмотров: 917
andrewkard пишет:
по сути Вам нужно сформировать массив вида...

andrewkard, а как мне сформировать такой массив?
Heavenanvil Отправлено: 08 Февраля, 2017 - 09:41:27 • Тема: Немогу составить sql запрос • Форум: Вопросы новичков

Ответов: 3
Просмотров: 188
OR?
Heavenanvil Отправлено: 08 Февраля, 2017 - 04:28:31 • Тема: Notice: Undefined variable: dn in • Форум: Вопросы новичков

Ответов: 3
Просмотров: 295
Уведомление как бы намекает ))
Обратите внимание, что не так с переменной dn

Heavenanvil Отправлено: 07 Февраля, 2017 - 16:28:56 • Тема: Вывести значения из таблицы циклом, сортируя по нужному полю • Форум: Вопросы новичков

Ответов: 25
Просмотров: 917
Извиняюсь, что поднимаю тему, хотя прошли всего сутки, но я бьюсь безрезультатно весь день :(
Heavenanvil Отправлено: 07 Февраля, 2017 - 10:23:10 • Тема: пишет ошибку Parse error: syntax error, unexpected '"', expecting ',' or ';' in E:\OpenServer\domains\test.ru\array.php on line 45 • Форум: Вопросы новичков

Ответов: 4
Просмотров: 205
Sail, спасибо. Разобрался.
Heavenanvil Отправлено: 07 Февраля, 2017 - 10:08:03 • Тема: пишет ошибку Parse error: syntax error, unexpected '"', expecting ',' or ';' in E:\OpenServer\domains\test.ru\array.php on line 45 • Форум: Вопросы новичков

Ответов: 4
Просмотров: 205
teleoperator27, кстати хотел спросить, а насколько правильно использовать разные типы кавычек?

например:
PHP:
скопировать код в буфер обмена
  1. echo "Столица России - ".$capital['Russia']." Население России - ".$naselenie ['Russia"];

или
PHP:
скопировать код в буфер обмена
  1. echo "<a href='http://site.ru'>link</a>";
Heavenanvil Отправлено: 07 Февраля, 2017 - 10:05:33 • Тема: Страница зависла и не вывела 5050 • Форум: Вопросы новичков

Ответов: 12
Просмотров: 438
Я бы тоже посмотрел. На Яндекс.Диск попробуйте закачать, или на google.drive.
Heavenanvil Отправлено: 06 Февраля, 2017 - 18:44:15 • Тема: Parse error: syntax error, unexpected '{' in E:\OpenServer\domains\test.ru\switch.php on line 14 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 318
phpist почему у вас в конце некоторых строк echo идёт «;», а где-то «:»?

update:
И что такое в коде «ыцшеср».
Может прежде, чем вопросы задавать, нужно хоть перечитывать свой код чуть более внимательно?
Heavenanvil Отправлено: 06 Февраля, 2017 - 18:41:35 • Тема: Parse error: syntax error, unexpected '{' in E:\OpenServer\domains\test.ru\switch.php on line 14 • Форум: Вопросы новичков

Ответов: 5
Просмотров: 318
Всё это конечно замечательно, но может вы хотя бы для приличия свой вопрос зададите?
И оформите код правильно?
Heavenanvil Отправлено: 06 Февраля, 2017 - 17:58:42 • Тема: Вывести значения из таблицы циклом, сортируя по нужному полю • Форум: Вопросы новичков

Ответов: 25
Просмотров: 917
teleoperator27, в целом получилось. Но кое в чём разобраться не могу.

Мой код:
PHP:
скопировать код в буфер обмена
  1. ...
  2. function tplMenu($category){
  3.         $menu = '<li>
  4.         <div class="2">'. $category['name_cat']. '</div>';
  5.                
  6.                 if(isset($category['childs'])){
  7.                         $menu .= '<div class="3"><a href="#" class="4">'. showCat($category['childs']) .'</a></div>';
  8.                 }
  9.         $menu .= '</li>';
  10.         return $menu;
  11. }
  12. function showCat($data){
  13.         $string = '';
  14.         foreach($data as $item){
  15.                 $string .= tplMenu($item);
  16.         }
  17.         return $string;
  18. }
  19.  
  20. $cat_menu = showCat($tree);
  21. echo '<ul class="1">'. $cat_menu .'</ul>';
  22. ...


В итоге получается вот так:
CODE (html):
скопировать код в буфер обмена
  1. <ul class="1">
  2.         <li>
  3.                 <div class="2">Раздел 1</div>
  4.                 <div class="3">
  5.                         <a href="#" class="4"></a>
  6.                 </div>
  7.         </li>
  8.         <li>
  9.                 <a href="#" class="4">
  10.                         <div class="2">Категория 1</div>
  11.                 </a>
  12.         </li>
  13.         <li>
  14.                 <a href="#" class="4">
  15.                         <div class="2">Категория 2</div>
  16.                 </a>
  17.         </li>
  18.         <li>
  19.                 <a href="#" class="4">
  20.                         <div class="2">Категория 3</div>
  21.                 </a>
  22.         </li>
  23. </ul>
  24. ...


А мне нужно вот так:
CODE (html):
скопировать код в буфер обмена
  1. <ul class="1">
  2.         <li>
  3.                 <div class="2">Раздел 1</div>
  4.                 <div class="3">
  5.                         <a href="#" class="4">Категория 1</a>
  6.                         <a href="#" class="4">Категория 2</a>
  7.                         <a href="#" class="4">Категория 3</a>
  8.                 </div>
  9.         </li>
  10.         <li>
  11.                 <div class="2">Раздел 2</div>
  12.                 <div class="3">
  13.                         <a href="#" class="4">Категория 3</a>
  14.                         <a href="#" class="4">Категория 4</a>
  15.                 </div>
  16.         </li>
  17.         ...
  18. </ul>


Можете помочь?
Heavenanvil Отправлено: 06 Февраля, 2017 - 16:48:45 • Тема: Страница зависла и не вывела 5050 • Форум: Вопросы новичков

Ответов: 12
Просмотров: 438
У вас
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

У меня
CODE (html):
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.  <meta charset="UTF-8">
Heavenanvil Отправлено: 06 Февраля, 2017 - 14:18:08 • Тема: Страница зависла и не вывела 5050 • Форум: Вопросы новичков

Ответов: 12
Просмотров: 438
Может он показывал варианты, как можно сделать?
Так или иначе ваша проблема разрешилась, вы заметили свою ошибку?
Также обратите внимание в шапке у вас много лишнего мусора, который сейчас можно не использовать.

Страниц (13): « 1 2 3 [4] 5 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB