繁体   English   中英

如何获得正确的信息给我 <select>用PHP

[英]How to get the right info to my <select> with php

因此,我正在使用php并尝试将某些内容回显到数据库中的<select>选项。

首先,我想将所有Car都回显到第一个<select> (我可以做到),但是随后我想将SELECTED Car的模型回响到下一个<select>而我不能做到这一点。 我对所有这些东西都是新手。 我也在使用MVC。

从视图:

<select name="card_id"> 
<?php foreach ($cars as $car) { 
    if (isset($car->id)) { 
       echo "<option value=\"" . $tcar->id . "\">"; 
       echo $car->car . "</option>\n"; 
    } 
} ?> 
</select> 
<p>Choose model</p> 
<select name="model_id"> 
<?php foreach ($models as $model) { 
    if (isset($model->id)) { 
       echo "<option value=\"" . $model->id . "\">"; 
       echo $model->model . "</option>\n"; 
    } 
} ?> 
</select>

从模型视图:

public function getAllCars()
{
    $sql = "SELECT * FROM cars";
    $query = $this->db->prepare($sql);
    $query->execute();
    return $query->fetchAll();
}

我不知道用来挑选汽车模型的模型应该是什么样子,但是我想应该是这样的:

 public function getmodels()
    {
        $sql = "SELECT * FROM models WHERE
        $query = $this->db->prepare($sql);
        $query->execute();
     return $query->fetchAll();
    }

另外,我还没有完全理解select标记内的部分,因此,如果您可以向我彻底解释它,那将是很好的。

听起来您想使用所选汽车类型的模型动态更新(即不刷新页面)第二选择框。 您不能仅使用PHP来做到这一点。 您需要使用javascript将具有所选汽车ID的其他请求发送至服务器,然后返回模型列表以填充选择框。

如果做出选择汽车实际提交表单,这个选择是内部(我不会推荐制的UX的原因),那么你可以抢在选择的ID在你的PHP脚本,然后相应地填充第二个选择框。

您大部分在那儿,但我有几点想法。

1)您需要稍微修改数据库。 您的模型表需要一个carId字段,您所选择的汽车ID($ id)可以映射到该字段

#cars example
id   name
1    Ford
2    Chevy

#models example
id  carId  name
1   1      Mustang
2   1      Taurus
3   2      Camaro
4   2      Corvettte

2)正如少数人指出的那样,如果您试图将汽车选择器和模型选择器保持在同一页面上,则需要进行一些扎实的JavaScript工作。 现在让我们坚持使用PHP。 这需要一个人选择汽车,点击“提交”,然后转到下一页以选择模型

3)在下一页上,您可以通过查询访问所有相关模型,例如

"select * from models where carId = $id"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM