динамическое заполнение выбора входа из MySQL - PullRequest
1 голос
/ 17 ноября 2011

Привет! Я пытаюсь заполнить весь выпадающий список MySQL, но не могу заставить его работать, не могли бы вы помочь?

Мой код:

$database=& JFactory::getDBO();

$database->setQuery('SELECT training_id,training,trainingDate FROM training ');

$result = $database->loadObjectList();

 echo '<select name="whatever">';
while($row = mysql_fetch_array($result)) {
        echo '<option value="$row[training_id" />';
    }

echo '</select>';

Ответы [ 6 ]

5 голосов
/ 17 ноября 2011

Ваша строка эха не допускает встроенные переменные, потому что вы используете одинарные кавычки вместо двойных кавычек.

Реализуйте этот эхо вместо:

echo '<option value="' . $row["training_id"] . '" />';
1 голос
/ 21 мая 2012
$database= &JFactory::getDBO();
$database->setQuery('SELECT training_id,training,trainingDate FROM training');
$result = $database->loadObjectList();

echo '<select name="whatever">';
foreach ($result as $row) {
echo '<option value="'.$row->training_id.'" />';
}
echo '</select>';

Этот код работает, но заполняет список пустыми опциями.Я должен был вставить простое эхо, как показано ниже, и работает просто отлично.Почему-то $ row-> teremnev для меня пуст.Я уверен, что это не правильный путь, но он работает.

$db =& JFactory::getDBO();
$query = "SELECT teremnev FROM #__teremlista";
$db->setQuery($query);
$result = $db->loadResultArray(); 
echo '<select name="termek">' ;
foreach ($result as $row) {
echo '<option value="'.$row->teremnev.'" />';
echo $row;
}
echo '</option>';
echo '</select>';
1 голос
/ 17 ноября 2011
$database= &JFactory::getDBO();
$database->setQuery('SELECT training_id,training,trainingDate FROM training');
$result = $database->loadObjectList();

echo '<select name="whatever">';
foreach ($result as $row) {
   echo '<option value="'.$row->training_id.'" />';
}
echo '</select>';

Используйте #__ для префикса таблицы.

1 голос
/ 17 ноября 2011

Помимо использования одинарных кавычек, вы также:

  1. Отсутствует закрывающая квадратная скобка.
  2. Отсутствует закрывающий тег для <option>.

Возможно, вы захотите изменить свой вывод на что-то вроде этого, поэтому вы выводите пользователю какой-нибудь текст опции:

echo '<select name="whatever">';
while($row = mysql_fetch_array($result)) {
    echo '<option value="' . $row['training_id'] . '"> ' . $row['training'] . '</option>';
}
echo '</select>';
1 голос
/ 17 ноября 2011

Не зная, что вывод, трудно понять, является ли это единственной проблемой, но явная ошибка в вашем коде такова:

echo '<option value="$row[training_id" />';

Поскольку это в одинарных кавычках, переменнаяне интерпретируетсяВам нужно использовать двойные кавычки (и заключить в квадратные скобки!):

echo "<option value=\"{$row['training_id']}\" />";

Обратите внимание, что я изменил стиль интерпретации переменных для использования фигурных скобок: я считаю, что это легче читать и яснее.

0 голосов
/ 25 апреля 2016
<select>
<option>Select Training</option>

while($row = mysqli_fetch_array($result))
{
 echo "<option>". $row['training_name']."</option>";

}
</select> 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...