Всем добрый день! Помогите, пожалуйста, разобраться. Требуется вытащить из БД несколько значений и разместить их в разных частях страницы при помощи HTML. Проблема в том, что если делать это в цикле, то никаких проблем PHP: if( isset( $_POST['Test'] ) ) { get_value(); } function get_value() { error_reporting(-1); header('Content-Type: text/html; charset=utf-8'); require_once 'login.php'; $conn = new mysqli($hm, $un, $pw, $db); $conn->set_charset("utf8"); if ($conn->connect_error) die($conn->connect_error); $query = "SELECT * FROM user ORDER BY RAND() LIMIT 4"; $result = $conn->query($query); $rows = $result->num_rows; for ($j = 0 ; $j < $rows ; ++$j) { $result->data_seek($j); $row = mysqli_fetch_array($result, MYSQLI_BOTH);//$result-> fetch_arrow(MYSQLI_NUM); echo <<<_END <h2>$row[1]:</h2> <input type="text" name="answer"> _END; } echo <<<_END <h2>$row[1]:</h2> <input type="text" name="answer"> _END; } Если обращаться к переменной $row из другой части кода (например так: HTML: <h2>$row[1]:</h2> <input type="text" name="answer"> , то переменная оказывается пустой. Может проблемы с областью видимости переменной... И вообще будет здорово, если знающие люди подскажут как принято реализовывать подобные вещи - динамически отображать различные значения на странице. Может я вообще неправильно делаю... В общем буду благодарен за любые советы!
а без цикла то что ? какая? что это ? почему она оказалась пустой ? в каком месте вашего кода ? может.
Используйте опетатор return и кладите в него все нужные значения. PHP: return $row; Переменные, которые объявлены внутри функции, не видны за её пределами. Все, что случилось внутри функции, останется в функции (с)