Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 4

Делаю "хлебные крошки" подскажите с выводом данных из базы

03.07.2018, 20:12. Показов 1118. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите как вывести из базы данных в "хлебные крошки" данных из базы. Есть ли вариант без написания двух раз запросов к базе данных? Или подскажите как сделать "хлебные крошки" правильно.
Свой код вставлю, он работает, но может есть другие варианты. Самому не нравится он, как то не по феншую) Сильно за код не пинайте, я еще учусь
PHP/HTML
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
  
<?php
       $result = mysqli_query($db, "SELECT * FROM products WHERE id = '$id'");
      $cat = mysqli_fetch_array($result);
     ?>
       <div id="okno">
  <div id="top">
  <h2 class = naz></h2>
    <ul id="breadcrumbs-one">
 <li><a href="index.php">Главная</a></li>
 <li><a href="categor.php?type=<?php echo strtolower ($cat["type"]);?>"><?php echo $cat["type_rys"] ?></a></li>
 <li><a href="view.php?brand=<?php echo strtolower ($cat["brand"]);?>&type=<?php echo $cat["type"];?>"><?php echo $cat["brand"] ?></a></li>
 <li><a href=""><?php echo $cat["title"] ?></a></li>        
 </ul>    
          </div>
           
  <div id="tovar">
       <?php
       $result = mysqli_query($db, "SELECT * FROM products WHERE id = '$id'");
      $cat = mysqli_fetch_array($result);
     ?>
      <img src="images/<?php echo $cat["image"] ?>">
      <p id="style-titlec"><?php echo $cat["title"] ?></p>
      <p id="style-features"><?php echo $cat["features"] ?></p>
      <p class="style-pricec"><strong><?php echo $cat["price"] ?> руб</strong></p>
      <a class="cart-tovarc" tid = "<?php echo $cat["id"] ?>"><input type="submit" style="cursor: pointer" value="КУПИТЬ"></a>
      
    </div>
   
  </div>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.07.2018, 20:12
Ответы с готовыми решениями:

Хлебные крошки
Здравствуйте! подскажите, пожалуйста, как убрать домик в хлебных крошках? сейчас они выглядят: домик со ссылкой на главную - Главная -...

хлебные крошки
Всем привет. Столкнулся с проблемой.:wall: При заливке элемента градиентом, видны грани квардата, так быть не должно. Как сделать...

Хлебные крошки
всем привет, я создал хлебные крошки с урл которые показывает элементы по \. Но нужно что бы было по истирии хождения по сайту юзера. ...

7
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
04.07.2018, 10:00
1) Зачем вы два раза один и тот же запрос делаете?
2) Зачем делать запросы внутри html кода? Разделите их и код станет чище. Сначала получение данных, а потом уже вывод.
1
Особый статус
 Аватар для FloppyDisc
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
04.07.2018, 10:29
Йцукен76, а как они должны формироваться, по иерархии категорий?
0
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 4
04.07.2018, 17:46  [ТС]
tarasak:
1)Если делать один запрос, то получается, один товар уходит в хлебные крошки, и вывод товара на странице начинается не с первого товара в таблице, а со второго
2)насчет разделить вы имеете ввиду, сделать запросы в отдельном файле? Если так, то я с вами согласен, но у меня это первый проект(если можно так назвать), и пока можно сказать это наброски)))

Добавлено через 3 минуты
FloppyDisc, я их формирую по типу вывода товара из базы данных. по иерархии категорий, мне надо таблицу переделывать

Добавлено через 2 минуты
Извиняюсь, что забыл комментарии написать в коде
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
04.07.2018, 18:07
Цитата Сообщение от Йцукен76 Посмотреть сообщение
Если делать один запрос, то получается, один товар уходит в хлебные крошки, и вывод товара на странице начинается не с первого товара в таблице, а со второго
Т.е. вы утверждаете, что код ниже, выведет 2 разных type?

PHP
1
2
3
4
5
6
7
8
       $result = mysqli_query($db, "SELECT * FROM products WHERE id = '$id'");
       $cat = mysqli_fetch_array($result);
 
       echo $cat['type'];
 
       // какой-то html код
 
       echo $cat['type'];
Цитата Сообщение от Йцукен76 Посмотреть сообщение
Насчет разделить вы имеете ввиду, сделать запросы в отдельном файле? Если так, то я с вами согласен, но у меня это первый проект(если можно так назвать), и пока можно сказать это наброски
Как бы вообще не аргумент. Зачем учиться делать неправильно? У вас итак 100500 ошибок.

Цитата Сообщение от Йцукен76 Посмотреть сообщение
что забыл комментарии написать в коде
Код должен быть таким, что не комментарии не нужны. Надо давать грамотные имена переменным, функциям итд...
1
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 4
04.07.2018, 18:31  [ТС]
tarasalk, Попробую пояснить. Грубо говоря, у меня например в таблице 10 товаров. если я в "хлебные крошки" вставляю $cat['type'] это тип товара, $cat["brand"] это бренд товара, то в поле вывода товара по брендам, у меня отображается уже не 10 товаров, а 9. Потому что(если я правильно понял), вывод первого товара уходит на хлебные крошки. Может, я что-то путаю, но у меня пропадает первый товар из таблицы. Вот такая проблема.
Насчет ошибок в коде, ну я обучаюсь по всяким видеоурокам на ютубе, и там практически так и делают, видимо чтобы было понятнее
0
 Аватар для tarasalk
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
04.07.2018, 19:37
Йцукен76, ну так я о чем и говорю. Перемешали работу с БД и html вот данные и теряются. Небось еще и код не весь выложили, т.к. то что вы выложили выводит только 1 товар.

Стопудово дергаете данные по одному через mysqli_fetch_array, вот они и теряются.

А надо делать так.
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
// собираем все данные, в данном случае это только продукты
<?php
$result = mysqli_query($db, "SELECT * FROM products");
 
$products = [];
while ($row = mysqli_fetch_array($result)) {
    $products[] = $row;
}
?>
 
// выводим шаблон. Желательно чтобы это шаблон был в отдельном файле или хотя бы шел после того, как собрали все данные.
<? foreach($products as $product): ?>
    <div><?=$product['title']?></div>
<? endforeach; ?>
Цитата Сообщение от Йцукен76 Посмотреть сообщение
ну я обучаюсь по всяким видеоурокам на ютубе, и там практически так и делают, видимо чтобы было понятнее
В интернете полно шлака, особенно на чистом php.

Цитата Сообщение от Йцукен76 Посмотреть сообщение
вставляю $cat['type'] это тип товара
Т.е. у вас нет отдельной таблицы для типов товаров?
Должны быть такие таблицы:
product_types: id, name
products: id, type_id, title....

Почитайте про нормализацию БД.
1
0 / 0 / 0
Регистрация: 06.04.2017
Сообщений: 4
04.07.2018, 21:08  [ТС]
1)Извиняюсь, первый код, это уже карточка товара. Вот код с выводом товаров по бренду и типу
PHP/HTML
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
<?php
       $result = mysqli_query($db, "SELECT * FROM products WHERE type = '$type' and brand = '$brand'");/* запрос для вывода хлебных крошек*/ 
      $cat = mysqli_fetch_assoc($result)
       ?>
      <div id="okno">
  <div id="top">
  <h2 class = naz></h2>
    <ul id="breadcrumbs-one">
 <li><a href="index.php">Главная</a></li>
 <li><a href="categor.php?type=<?php echo strtolower ($cat["type"]);?>"><?php echo $cat["type_rys"]; ?></a></li><!-- тип товара-->
 <li><a href="view.php?brand=<?php echo strtolower ($cat["brand"]);?>&type=<?php echo $cat["type"];?>"><?php echo $cat["brand"]; ?></a></li><!-- бренд товара-->
 </ul>    
          </div>
   <ul id="blok-tovara">
    <?php 
       $result = mysqli_query($db, "SELECT * FROM products WHERE type = '$type' and brand = '$brand' LIMIT 13 ");/* запрос для вывода по типу и бренду товаров*/
       while(($cat = mysqli_fetch_assoc( $result)))
       {
       ?>
        <li>
            <div class="blok-image">
                <img src="images/<?php echo $cat["image"] ?>"><!-- картинка товаров-->
            </div>
            <p id="style-titleb"><a href="tovar.php?id=<?php echo $cat["id"]; ?>"><?php echo $cat["title"] ?></a></p><!-- название товаров-->
           <p class="style-priceb"><strong><?php echo $cat["price"] ?> руб</strong></p><!-- цена товаров-->
            <a class="cart-tovara" href="tovar.php?id=<?php echo $cat["id"]; ?>"><input type="submit" style="cursor: pointer" value="Подробнее"></a>
        </li>
     <?php
       }
       ?>
    </ul>
    
      </div>
2)Да, получается дергаю по одному
3) таблица есть отдельная по типу и брендам. Просто опять же посмотрел видео, а там с одной таблицы все выдергивали. Вот решил попробовать)
Спасибо за код, попробую, надеюсь получится. Отпишусь

Добавлено через 28 минут
Попробовал ваш код. Вывело все товары.
Посмотрите мой код и подскажите, как сделать, чтобы не терялся один товар при выводе всех товаров. я LIMIT 13 в запросе поставил, потому что один теряется, и вместо нужных мне 12 выводит 11. Один, самый первый, теряется при запросе для хлебных крошек
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
04.07.2018, 21:08
Помогаю со студенческими работами здесь

Хлебные крошки
Всем привет. Нужно сделать хлебные крошки, как на рисунку. Стрелки управления появляется в случае, когда количество объектов не...

Хлебные крошки
Здравствуйте. Не могли бы Вы подсказать, как правильно добавить хлебные крошки,чтобы они отображались в сниппе поисковых системах (Яндекс и...

Хлебные крошки
Задача - вывести хлебные крошки для каталога товаров. Сначала показывается тип товара- Фото Потом производитель товара - Canon ...

Хлебные крошки
Создать несколько страниц с любым текстом (например, сгенерировать его), которые будут храниться в базе данных. Таблица со страницами будет...

Хлебные крошки
Сайт сделан на Вордпрессе при помощи плагина Goods catalog реализован на сайте каталог. Пожалуйста помогите разобраться с отображением...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
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 - 2025, CyberForum.ru