За последние 24 часа нас посетили 19320 программистов и 1605 роботов. Сейчас ищут 875 программистов ...

PHP + HTML. Вывод значений из базы в разных частях страницы

Тема в разделе "PHP для новичков", создана пользователем Zykov_Maksim, 4 окт 2018.

  1. Zykov_Maksim

    Zykov_Maksim Новичок

    С нами с:
    29 авг 2018
    Сообщения:
    14
    Симпатии:
    0
    Всем добрый день!
    Помогите, пожалуйста, разобраться. Требуется вытащить из БД несколько значений и разместить их в разных частях страницы при помощи HTML. Проблема в том, что если делать это в цикле, то никаких проблем
    PHP:
    1. if( isset( $_POST['Test'] ) )
    2.         {
    3.             get_value();
    4.         }
    5.  
    6.         function get_value()
    7.          {  
    8.             error_reporting(-1);
    9.             header('Content-Type: text/html; charset=utf-8');
    10.             require_once 'login.php';
    11.             $conn = new mysqli($hm, $un, $pw, $db);
    12.             $conn->set_charset("utf8");
    13.             if ($conn->connect_error) die($conn->connect_error);
    14.                        
    15.             $query = "SELECT * FROM user ORDER BY RAND() LIMIT 4";
    16.             $result = $conn->query($query);
    17.             $rows = $result->num_rows;
    18.             for ($j = 0 ; $j < $rows ; ++$j)
    19.             {
    20.                 $result->data_seek($j);
    21.                 $row = mysqli_fetch_array($result, MYSQLI_BOTH);//$result-> fetch_arrow(MYSQLI_NUM);
    22.                 echo <<<_END
    23.                 <h2>$row[1]:</h2> <input type="text" name="answer">
    24. _END;
    25.             }
    26.             echo <<<_END
    27.                 <h2>$row[1]:</h2> <input type="text" name="answer">
    28. _END;
    29. }            
    Если обращаться к переменной $row из другой части кода (например так:
    HTML:
    1. <h2>$row[1]:</h2> <input type="text" name="answer">
    , то переменная оказывается пустой. Может проблемы с областью видимости переменной...
    И вообще будет здорово, если знающие люди подскажут как принято реализовывать подобные вещи - динамически отображать различные значения на странице. Может я вообще неправильно делаю...
    В общем буду благодарен за любые советы!
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    а без цикла то что ? какая?
    что это ?
    почему она оказалась пустой ?
    в каком месте вашего кода ?
    может.
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
  4. SeApps

    SeApps Новичок

    С нами с:
    3 апр 2018
    Сообщения:
    27
    Симпатии:
    1
    Используйте опетатор return и кладите в него все нужные значения.
    PHP:
    1. return $row;
    Переменные, которые объявлены внутри функции, не видны за её пределами.

    Все, что случилось внутри функции, останется в функции
    (с)