【问题标题】:Autopopulating a dropdown menu by inputing numbes into a field using php通过使用php在字段中输入数字来自动填充下拉菜单
【发布时间】:2019-08-30 07:20:52
【问题描述】:

我是 php 和 html 的新手,所以请原谅我的任何愚蠢言论。在空白字段中输入数字后,我正在尝试自动填充下拉菜单。

我在谷歌上环顾四周,但我找不到太多关于 PHP 仅提交表单的自动填充。现在我有一个 SQL 查询。当我想输出查询结果时,它可以显示为数组的键或值:

(在我看来)

<?php

                      foreach($data as $key)
                      {
                         print_r($key['name']); 
                         echo '<br/>';
             print_r($key['id']);
             echo <br/>;


                      } ?>

我想说的是,如果选择第一个键,则将显示第一个值。我假设我可能需要某种 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'] 是类别的 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,它将使用所选类别 ID 号的类别名称填充下拉列表。

【问题讨论】:

    标签: php html fuelphp


    【解决方案1】:

    如果您需要在数据库中搜索 - 使用 LIKE 条件。 例如:SELECT * FROM some_table WHERE your_field LIKE '%2%' (其中 2 - 您尝试查找的数字)。 % 需要做条件:2 之前的任意数字和之后的任意数字。因此它可以找到例如:132、231 等。

    【讨论】:

    • 从长远来看,我认为这肯定会有所帮助。但是,我仍然不知道如何做汽车人口。在不提交表单的情况下填充下拉菜单。
    【解决方案2】:

    也许我不太了解这个问题,但我认为如果您已经使用 LancelHunt 上面显示的提示获得了所有数据,您只需要在下拉菜单中使用 foreach 打印结果,其中回显将在处理下拉项目的标签内完成。

    【讨论】:

    • 抱歉回复晚了。如果我希望在不通过单击按钮提交页面的情况下发生这种情况,我不需要做任何特别的事情?
    • 另外,我不确定如何使用 post 并与 PHP 交互以显示这样的东西。
    • 因此,您可能需要使用 javascript 进行一些异步编程。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-14
    • 2021-03-29
    • 2011-08-17
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    相关资源
    最近更新 更多