Я новичок в php и html в целом, поэтому прошу меня простить за глупые высказывания. Я пытаюсь автоматически заполнить раскрывающееся меню после ввода числа в пустое поле.
Я поискал в Google, но не смог найти много информации об автоматическом заполнении для PHP, отправляя только форму. Сейчас у меня есть SQL-запрос. Когда я хочу вывести результат запроса, он может отображаться как ключ или значение массива:
(на мой взгляд)
<?php
foreach($data as $key)
{
print_r($key['name']);
echo '<br/>';
print_r($key['id']);
echo <br/>;
} ?>
Я хочу сказать, что если выбрать 1-й ключ, будет отображаться 1-е значение. Я предполагаю, что мне нужен какой-то оператор if, возможно, не уверен, что еще.
Использование FuelPHP для моего бэкэнда
Моя модель
public static function get_results()
{
$result = DB::query('select substring(cat.item_class_cd,1,1) as id, cat.class_name as name
from MASTER_DB.MS_CATEGORY cat
where length(cat.item_class_cd) = 1')->execute();
// doesn't work
return $result;
//return ['id' => 1, 'name' => 'test']
}
Мой контроллер
public function action_index()
{
$model = new Model_Shelf();
$data = $model->get_results();
// create the layout view
$view = View::forge('shelf/index');
// assign global variables so all views have access to them
/* $view->data = $result; */
//assign views as variables, lazy rendering
$view->head = View::forge('common/head');
$view->header = View::forge('common/header');
$view->content = View::forge('common/content', array('data'=>$data));
$view->footer = View::forge('common/footer');
// return the view object to the Request
//return $view;
return Response::forge($view);
}
Если вам нужны какие-либо разъяснения, дайте мне знать. Надеюсь, я был достаточно ясен >‹
Изменить: уточнение
В настоящее время я просматриваю https://fuelphp.com/docs/classes/input.html но я запутался. Как именно вы должны использовать post($index = null, $default = null)? Это должно идти в моем представлении?
<label for="category">Category</label>
<form action="content.php" method="post">
<input type="text" name="category" <?php Input::post($data['id']) ?>><br/>
data['id'] — это идентификатор категории, а data['name'] — название категории.
<div class=" form-group">
<select class="form-control form-control-sm">
<?php
Input::get(data['id']);
foreach($data as $option){
<option>$option['name']</option>
}
?>
</select>
Мой код может быть немного запутанным. Что я пытаюсь сделать, так это то, что если выбрано значение от 0 до 6, оно заполнит раскрывающийся список именем категории для выбранного идентификационного номера категории.