За последние 24 часа нас посетили 22682 программиста и 1032 робота. Сейчас ищут 683 программиста ...

Вывод данных из базы в div

Тема в разделе "PHP и базы данных", создана пользователем BAbl_gun, 6 мар 2021.

  1. BAbl_gun

    BAbl_gun Новичок

    С нами с:
    25 апр 2020
    Сообщения:
    32
    Симпатии:
    2
    Имеется код по выводу данных из базы данных который выводит список вех значений с помощью функции foreach as
    PHP:
    1. <?php
    2. $stn = $db ->query("SELECT * FROM products)->fetchAll(PDO::FETCH_ASSOC);
    3. foreach ($stn as $k => $v) {
    4. $znach = "<div><div>Категория товара по наименованию:</div>" . "<div>" .  $v['name'] . "</div>"
    5. ?>
    6.  
    7. //выводит значение только по одной позиции
    8. <div class="tabl">
    9. echo $znach;
    10. </div>
    Как вывести все строки с данными в блок? Думал через массив но решил так
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.744
    Симпатии:
    1.319
    Адрес:
    Лень
    что делаешь с переменной $znach ? o_O
    --- Добавлено ---
    Нарушен синтаксис php кода
    Нарушена верстка html тела

    что ожидаешь в 9 строке, после закрывающего php тега ?
     
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    https://www.php.net/manual/ru/language.operators.string.php

    PHP:
    1. <?php
    2. $znach = '';
    3. $stn = $db ->query("SELECT * FROM products")->fetchAll(PDO::FETCH_ASSOC);
    4.  
    5. foreach ($stn as $k => $v)
    6. {
    7.     $znach .= "<div><div>Категория товара по наименованию:</div><div>" .  $v['name'] . "</div>";
    8. }
    9. ?>
    10. <div class="tabl">
    11. <?=$znach;?>
    12. </div>
     
  4. BAbl_gun

    BAbl_gun Новичок

    С нами с:
    25 апр 2020
    Сообщения:
    32
    Симпатии:
    2
    Крроче айм соре, с кодом лохнулся по быстрому зотел темку закинуть... в $znach присвоил результат запроса, выводит он его нормально но только одну строку а не все, то есть мне нужно запустить цикл. Короче я так понял без массива тут не как.
    --- Добавлено ---
    Для чего точка после ровно? и после <? ровно?
     
  5. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.744
    Симпатии:
    1.319
    Адрес:
    Лень
    PHP:
    1. <?php
    2.  
    3. $response = $db -> query( 'SELECT `name` FROM `products`' );
    4.  
    5. $result = $response -> fetchAll( PDO :: FETCH_FUNC, static function ( string $name ): string
    6. {
    7.     return "<div>Категория товара по наименованию:</div><div>{$name}</div>";
    8. } );
    9.  
    10. printf ( '<div class="tabl">%s</div>', implode ( PHP_EOL, $result ) );
     
  6. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @MouseZver у него остались вопросы к точке и равно, после того как я ссылку привел. О чем ты)
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.744
    Симпатии:
    1.319
    Адрес:
    Лень
    Чтобы точек и равно не было !!11Адын
     
  8. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    PHP: Теги PHP - Manual
     
  9. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    PHP:
    1. <div class="tabl">
    2. <?php foreach ($stn as $v): ?>
    3.     <!-- с div'ами был какой-то косяк --><div>Категория товара по наименованию:</div><div><?= $v['name'] ?></div>
    4. <?php endforeach; ?>
    5. </div>
    foreach не обязательно использовать. Можно брать по одной записи из выборки и тут же ее выводить (в цикле for или while).
     
    BAbl_gun нравится это.