Я вижу запрос, возвращающий результаты, но я не могу представить их в раскрывающемся списке html. Кроме того, в раскрывающемся списке столько записей, сколько возвращается запрос, но ОНИ – ВСЕ БЕЛЫЕ ПРОСТРАНСТВА. ОДНАКО, источник страницы показывает правильные значения параметров, такие как
<option value="3 John"></option> <option value="Jude"></option> <option value="Revelation"></option>
Может кто-нибудь мне помочь? Почему они не отображаются в раскрывающемся списке?
<html> <?php //Connect to the database $mysqli = new mysqli("localhost", "root", "", "bible"); //Return an error if we have a connection issue if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); } //Query the database for the results we want $query = $mysqli->query("select distinct bname as Name from kjv limit 1"); //Create an array of objects for each returned row while($array[] = $query->fetch_object()); array_pop($array); //Print out the array results print_r($array); ?> <h3>Dropdown Demo Starts Here</h3> <select name="the_name"> <?php foreach($array as $option) : ?> <option value="<?php echo $option->Name; ?>"></option> </select> <?php endforeach; ?>
Попробуй это
<select name="the_name"> <?php foreach($array as $option) : ?> <option value="<?php echo $option['Name']; ?>"><?php echo $option['Name']; ?></option> <?php endforeach; ?> </select>
После выполнения запроса используйте цикл while, чтобы добавить параметры для выбора
$query = $mysqli->query("select distinct bname as Name from kjv limit 1"); ?> <select> <?php while($option = $query->fetch_object()){ ?> <option><?php echo $option->Name; ?></option> <?php } ?> </select>
Не уверен, что делает array_pop в коде.
AS TIM WAX СКАЗАЛ ЭТО РЕШЕНИЕ
$query = $mysqli->query("select distinct bname as Name from kjv limit 1"); ?> <select> <?php while($option = $query->fetch_object()){ ?> <option><?php echo $option->Name; ?></option> <?php } ?> </select>
<select name="the_name"> <?php foreach($array as $option) : ?> <option value="<?php echo $option->Name; ?>"></option> <?php endforeach; ?> </select>
Вы закончили цикл таким образом, чтобы он снова и снова создавал <select>
. Измените его и повторите попытку. Я не знаю много о .php
но это может быть проблемой при отображении раскрывающегося списка.
вот мой .. им новичок, но он работает для меня,
$query = $mysqli->query("SELECT * FROM `student_type_db`"); //table of student type echo "<select>"; while($row = $query->fetch_array()){ echo "<option>"; echo $row['student_type'] . " - " . $row['student_description']; echo "</option>"; } echo "</select>"; // student type = 1 | student description = regular // output : 1 - regular