X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Вопрос по выводу данных из бд
Виталий2012
Виталий2012
Topic Starter сообщение 22.2.2012, 20:21; Ответить: Виталий2012
Сообщение #1


Вот запрос:

$res=mysql_query("SELECT section.name_section AS t1 ,category.name_category AS t2 FROM section JOIN category ON section.id_section = category.id_category");

while($arr= mysql_fetch_assoc($res)){

}


t1-это названия разделов.

t2-это названия категорий.

К каждому разделу относиться несколько категорий.

Понимаю,что нужно применить (foreach),но никак не могу понять,как сделать,чтобы вышло во так:



Название раздела

Название категории
Название категории
Название категории
Название категории

Название раздела

Название категории
Название категории
Название категории
Название категории

Форумчане, если не трудно ,допишите код и желательно прокоментируйте.
От всего сердца вам благодарен.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Светозар
Светозар
сообщение 23.2.2012, 10:50; Ответить: Светозар
Сообщение #2


что-то с вашим запросом запутался! Одна таблица, или две? Одна с названиями, другая с категориями?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Виталий2012
Виталий2012
Topic Starter сообщение 23.2.2012, 12:00; Ответить: Виталий2012
Сообщение #3


Две
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 23.2.2012, 15:40; Ответить: matroskin8
Сообщение #4


Виталик, Вы уже третий с подобной задачей за последние несколько дней :blink:
Поскольку дампа БД не выложили, то код писал так, насколько понял задачу. Собственно, код:
<?php
mysql_connect("localhost", "root", "");
mysql_query("SET NAMES 'utf8'");
mysql_select_db("test");
$query = "SELECT section.name_section, category.name_category FROM category, section WHERE category.id_section = section.id";
$res = mysql_query($query);
$data = array();
while($row = mysql_fetch_assoc($res)){
    $data[] = $row; // получаем данные в массив
}
//print_r($data);
$group = $data[0]['name_section']; // выбираем первый раздел и помещаем в переменную group
echo '<b>' .$group. '</b><hr>'; // выводим первый раздел
/* проходимся по массиву */
foreach($data as $item){
    /* если текущий раздел не совпадает с имеющимся в переменной group */
    if($group != $item['name_section']){
        echo '<br><b>' .$item['name_section']. '</b><hr>'; // то выводим новый раздел
        $group = $item['name_section']; // и заносим новый раздел в переменную group
    }
    /* если же текущий раздел совпадает с имеющимся в переменной group, то цикл пропускаем */
    echo $item['name_category']. '<br>'; // выводим текущую категорию
}
?>

Результат:
Раздел 1
Категория 1
Категория 2

Раздел 2
Категория 3

Раздел 3
Категория 4
Категория 5
Категория 6

Ну и скрины таблиц (section и category):
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Виталий2012
Виталий2012
Topic Starter сообщение 23.2.2012, 17:17; Ответить: Виталий2012
Сообщение #5


Спасибо Вам огромное!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 23.2.2012, 18:45; Ответить: matroskin8
Сообщение #6


Пожалуйста :blink:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Виталий2012
Виталий2012
Topic Starter сообщение 25.2.2012, 20:23; Ответить: Виталий2012
Сообщение #7


С одной бедой мне помогли разобраться.Спасибо огромное,всё вполне доходчиво.
Но вот задача усложнилась.Как здесь быть?К каждой категории и разделу относиться своя картинка.
Соответственно прилагаю к этому делу скрин массива.Помогите форумчане.
Спасибо вам огромное.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 25.2.2012, 21:30; Ответить: matroskin8
Сообщение #8


В mini_img, я так понимаю, содержится путь к картинке раздела, а в img - путь к картинке категории. Всего-то нужно указать в запросе 2 новых поля и добавить в код вывод этих данных из массива:
<?php
mysql_connect("localhost", "root", "");
mysql_query("SET NAMES 'utf8'");
mysql_select_db("test");
$dir = 'images/'; // путь к каталогу с картинками
$query = "SELECT section.name_section, section.mini_img, category.name_category, category.img FROM category, section WHERE category.id_section = section.id";
$res = mysql_query($query);
$data = array();
while($row = mysql_fetch_assoc($res)){
    $data[] = $row;
}
//print_r($data);
$group = $data[0]['name_section'];
$imgSection = $data[0]['mini_img'];
echo "<img src='{$dir}{$imgSection}'>";
echo '<b>' .$group. '</b><hr>';
foreach($data as $item){
    if($group != $item['name_section']){
        echo "<img src='{$dir}{$item['mini_img']}'>";
        echo '<b>' .$item['name_section']. '</b><hr>';
        $group = $item['name_section'];
        $imgSection = $item['mini_img'];
    }
    echo "<img src='{$dir}{$item['img']}'>";
    echo $item['name_category']. '<br>';
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Виталий2012
Виталий2012
Topic Starter сообщение 25.2.2012, 21:36; Ответить: Виталий2012
Сообщение #9


Спасибо Вам.Вот сейчас,как глянул сразу понял,как это реализовать.
Тяжело без опыта.Здрово,что ещё люди нормальные остались.
Еще раз спасибо!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
matroskin8
matroskin8
сообщение 25.2.2012, 22:27; Ответить: matroskin8
Сообщение #10


Пожалуйста :blink:

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Интеграция спортивных данных API. Коэффициенты БК, Live результаты
15 yaroslav89 6860 8.4.2024, 17:17
автор: spoyer_ru
Открытая тема (нет новых ответов) ГОРЯЧИЕ FOREX|CRYPTO ЛИДЫ. БАЗЫ ДАННЫХ
[Чарджбек|Рекавери|Возврат]
9 Leado 3910 9.2.2024, 16:04
автор: baza0013
Открытая тема (нет новых ответов) Базы данных, различной тематики, выкладываем тут.
Делимся, обмениваемся, заказываем, парсим.
12 InfoObmen 15257 4.9.2022, 2:32
автор: Галецкая
Открытая тема (нет новых ответов) Сбор Данных Услуг И Специалистов Яндекс.Услуги
2 zkalinin 2378 26.5.2022, 17:10
автор: zkalinin
Открытая тема (нет новых ответов) Вопрос - платное размещение баннеров на сайте
10 WGN 3189 14.12.2020, 14:20
автор: Peterson


 



RSS Текстовая версия Сейчас: 23.4.2024, 22:25
Дизайн