Форум Кургана и Курганской области и наших друзей

Зима. Форум Кургана и Курганской области и наших друзей
30 Ноябрь 2020, 01:18:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости:
 
   Начало   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Массивэ =)  (Прочитано 698 раз)
0 Пользователей и 1 Гость смотрят эту тему.
NikANDtas
Коллежский асессор
******

Карма: 127
Offline Offline

Пол: Мужской
Сообщений: 1502


90027_veteran.gif


WWW Награды
« : 19 Июнь 2010, 01:40:24 »

$result= mysql_query ('SELECT `name`,`description`,`sub_of1`,`sub_of2`,`sub_of3`,`sub_of4`,`sub_of5`,`articles_n`,`id` FROM nikandta_bd.sections');
   while ($row = mysql_fetch_array($result)) {
Вот здесь надо вывести значение1, значение2, значение 4, значение 3 из "name"
}
echo $row['name'];
вот так можно вывести значения из name попорядку. Как Выбрать нужные значения?

Записан

ysv45
Гость
« Ответ #1 : 19 Июнь 2010, 03:41:55 »

Вопрос не понял.
[GROUP BY {col_name | expr | position}
      [ASC | DESC],

не устроит?
Записан
NikANDtas
Коллежский асессор
******

Карма: 127
Offline Offline

Пол: Мужской
Сообщений: 1502


90027_veteran.gif


WWW Награды
« Ответ #2 : 19 Июнь 2010, 09:11:08 »

Я хочу сделать ветвь разделов, например в одном echo будет
<ul><li>name1</li><ul><li>sub_name1</li><li>subname2</li></ul></ul>
Что-то типа этого.
нэйм и сабнэйм из разных записей
На изображении "обзоры" подраздел Wi-fi.
Если будет еще и подраздел обзоров - будет sub_name1 (+ ко всему)


* db.JPG (16.1 Кб, 787x94 - просмотрено 13 раз.)
Записан

BlaZed
Титулярный советник
*****

Карма: 84
Offline Offline

Пол: Мужской
Сообщений: 986


Мы сделаны из мяса


WWW Награды
« Ответ #3 : 19 Июнь 2010, 11:52:27 »

Я так понял, что sub_id1 это запись с id родительского раздела.
Что означают sub_id2, sub_id3, sub_id4, sub_id5?
Чтобы выводить записи в нужном порядке не помешало бы добавить поле для сортировки.

$parent_id=$row['id'];
$sub_result= mysql_query ('SELECT `name` FROM nikandta_bd.sections WHERE sub_of1=$parent_id');
while ($sub_row = mysql_fetch_array($sub_result)) {
   echo $sub_row['name'];
}
Записан

"Лишь утратив все до конца мы обретаем свободу" (c) Бойцовский клуб
NikANDtas
Коллежский асессор
******

Карма: 127
Offline Offline

Пол: Мужской
Сообщений: 1502


90027_veteran.gif


WWW Награды
« Ответ #4 : 19 Июнь 2010, 12:25:04 »

не понял)
$name>>$sub_of1>>sub_of2... все равно что Wi-Fi>>подраздел>>еще подраздел)

BlaZed,идею понял, но ведь можно обойтись одним запросом, тупо вытащив данные из массива?
Записан

BlaZed
Титулярный советник
*****

Карма: 84
Offline Offline

Пол: Мужской
Сообщений: 986


Мы сделаны из мяса


WWW Награды
« Ответ #5 : 19 Июнь 2010, 13:27:32 »

не понял)
$name>>$sub_of1>>sub_of2... все равно что Wi-Fi>>подраздел>>еще подраздел)

BlaZed,идею понял, но ведь можно обойтись одним запросом, тупо вытащив данные из массива?
конечно можно, например
SELECT t1.name AS name,t2.name AS subname1 FROM sections as t1 JOIN sections as t2 ON t1.id=t2.sub_of1;
добавляя дополнительные джойны по необходимости.

вот только подобная архитектура таблиц крайне неудобна для построения древовидной структуры
гораздо удобнее следующее
Код:
mysql> desc test;
+--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| id     | int(10)      | NO   | PRI | NULL    | auto_increment |
| sort   | int(10)      | NO   |     | NULL    |                |
| parent | varchar(255) | YES  |     | NULL    |                |
| name   | varchar(255) | YES  |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
Записан

"Лишь утратив все до конца мы обретаем свободу" (c) Бойцовский клуб
NikANDtas
Коллежский асессор
******

Карма: 127
Offline Offline

Пол: Мужской
Сообщений: 1502


90027_veteran.gif


WWW Награды
« Ответ #6 : 19 Июнь 2010, 13:30:16 »

Что будет в Parent? Как вообще выглядит ее реализация?)
зы понятно как сделать один родительский объект, а второй, третий?
« Последнее редактирование: 19 Июнь 2010, 13:35:14 от NikANDtas » Записан

ysv45
Гость
« Ответ #7 : 19 Июнь 2010, 14:37:17 »

http://phpclub.ru/faq/Tree

http://www.codenet.ru/webmast/php/tree.php

http://www.poiu.ru/lessons/index.php-18.htm

Записан
BlaZed
Титулярный советник
*****

Карма: 84
Offline Offline

Пол: Мужской
Сообщений: 986


Мы сделаны из мяса


WWW Награды
« Ответ #8 : 19 Июнь 2010, 16:04:14 »

Что будет в Parent? Как вообще выглядит ее реализация?)
В поле parent хранится id родительского элемента
например таблица
Код:
mysql> select * from test;
+----+------+-------+--------+
| id | sort | name  | parent |
+----+------+-------+--------+
|  1 |    1 | test1 | 0      |
|  2 |    3 | test2 | 1      |
|  3 |    2 | test3 | 1      |
|  4 |    4 | test4 | 2      |
|  5 |    6 | test5 | 3      |
|  6 |    5 | test6 | 3      |
|  7 |    7 | test7 | 3      |
+----+------+-------+--------+
7 rows in set (0.00 sec)
логически будет выглядеть так:
Код:
test1 -+
       +--test3--+
       |         |--test6
       |         |--test5
       |         |--test7
       |
       +--test2--+
                 |--test4
например подразделы элемента 1 (test1) ищутся так
Код:
mysql> select name from test where parent=1 order by sort;
+-------+
| name  |
+-------+
| test3 |
| test2 |
+-------+
2 rows in set (0.00 sec)

зы понятно как сделать один родительский объект, а второй, третий?
родительский всегда один, дочерних сколько угодно, получаем дерево
Записан

"Лишь утратив все до конца мы обретаем свободу" (c) Бойцовский клуб
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC
rss | wap
Valid XHTML 1.0! Valid CSS!