如何将表中的两列连接到仅显示相关结果的选定列?PHP、Javascript、Jquery

亚历克斯·艾尔

先看看我的数据库。https://imgur.com/QWgN9UA Marka 和型号只对您很重要。当用户选择“AJP”标记时,我只需要向他显示该标记的模型。从下拉列表中选择 AJP 获取模型 "PR4 125 ENDURO" 、PR4 125 SUPERMOTOAD" 和 "PR4 200" 时的示例。我已经做了任何思考,但我向用户显示了数据库中的所有模型我只需要显示与所选标记相关的模型。我显示了我的代码,如果可能的话,我希望有人在不对现有代码进行太多更改的情况下帮助我。

我的 PHP 代码来获取 Marka

public function get_marka_data() {

    $query = $this->db->query("
        SELECT DISTINCT mo.marka
        FROM " . DB_PREFIX .  "model mo
        GROUP BY mo.marka
    ")->rows;

    $data = array_map(function($row){
        return array('value'=>$row['marka'],'label'=>$row['marka']);
    }, $query);

    if (isset($this->request->server['HTTP_ORIGIN'])) {
        $this->response->addHeader('Access-Control-Allow-Origin: ' . $this->request->server['HTTP_ORIGIN']);
        $this->response->addHeader('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
        $this->response->addHeader('Access-Control-Max-Age: 1000');
        $this->response->addHeader('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
    }
    $this->response->addHeader('Content-Type: application/json');
    $this->response->setOutput(json_encode($data));
}

我的检索模型代码

public function get_model_data() {
    $query = $this->db->query("
        SELECT DISTINCT mo.model
        FROM " . DB_PREFIX .  "model mo
        GROUP BY mo.model
    ")->rows;

    $data = array_map(function($row){
        return array('value'=>$row['model'],'label'=>$row['model']);
    }, $query);

    if (isset($this->request->server['HTTP_ORIGIN'])) {
        $this->response->addHeader('Access-Control-Allow-Origin: ' . $this->request->server['HTTP_ORIGIN']);
        $this->response->addHeader('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');
        $this->response->addHeader('Access-Control-Max-Age: 1000');
        $this->response->addHeader('Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With');
    }
    $this->response->addHeader('Content-Type: application/json');
    $this->response->setOutput(json_encode($data));
}

我在模板文件中的代码用于使用 ajax 获取该数据

<script type="text/javascript">

   $.ajax({
    url: 'index.php?route=api/reifenmontage/get_marka_data',
   context: document.body,
   success: function(data) {
   const selectControl = $('#result');
     selectControl.html(data.map(ExtractData).join(''));
   }
   });

   function ExtractData(item) {
 return ` <option value="${item.value}">${item.label}</option>`;
}

</script>
<script type="text/javascript">

$.ajax({
url: 'index.php?route=api/reifenmontage/get_model_data',
context: document.body,
success: function(data) {
     const selectControl = $('#result2');
     selectControl.html(data.map(ExtractData).join(''));
   }
});

 </script>

最后是我的模板 html

       <div id="additionalRow"  class="row termin_row">
          <div class="col-sm-4 col-xs-12">
            <div class="row"><label>Marke und model</label></div>
          </div>
              <div class="col-xs-12 col-sm-3" style="margin-right:30px;">
                <div class="row">
                 <select class="form-control"  id="result">
                  </select>
             </div>
         </div>
         <div class="col-xs-12 col-sm-4">
             <div class="row">
               <select class="form-control"  id="result2">
             </select>
          </div>
               </div> 
        </div>
杜桑·马卢塞夫

问题出在查询中,而不是 GROUP BY... ,使用 WHERE m.marka = '',将 marka 传递给脚本。

First render the markas to the page, when some marka is selected send the request to the server (first add first parameter to the function get_marka_data($marka)) with this query

SELECT DISTINCT mo.marka
FROM " . DB_PREFIX .  "model mo
WHERE mo.marka = " . $marka

当您收到响应时,将其渲染到某个下拉列表中的页面

别忘了验证!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将两列连接到同一张表

来自分类Dev

如何将数据Gridview乘以两列并在另一列中显示结果

来自分类Dev

如何在表中仅显示结果的一列

来自分类Dev

如何将 Sql 结果显示到网格列中

来自分类Dev

将Temp列的结果连接到表SQL Server

来自分类Dev

将基于类型列的结果连接到不同的列中

来自分类Dev

PostgreSQL:如何在函数中仅显示CASE表达式中单个表的选定列?

来自分类Dev

使用SQL中的公共键将两个表/添加列连接到原始表

来自分类Dev

使用SQL中的公共键将两个表/添加列连接到原始表

来自分类Dev

如何将请求的结果联接到另一个表(添加列)

来自分类Dev

使用PHP仅显示SQL中的选定列

来自分类Dev

将一个表中的两列连接到另一引用表中的列

来自分类Dev

将一个表中的两列连接到另一引用表中的列

来自分类Dev

将两个表,多行连接到单行中的不同列

来自分类Dev

为什么Pandas自动将csv中的所有表连接到两列?

来自分类Dev

在SqlServer中,如何将多行中的单列连接到多列中的单行中

来自分类Dev

如何将日期时间连接到C#asp.net中的文本框中以仅显示日期

来自分类Dev

如何将php变量连接到javascript for循环中

来自分类Dev

如何将约束类型连接到列信息

来自分类Dev

如何将两个属性值连接到 Angular 7 数据表的单个数据表列中?(例如:名字和姓氏并入一列)

来自分类Dev

如何使用 sql 将表连接到多个列,然后使用 php 访问数据?

来自分类Dev

如何将滑块连接到JavaScript中的article元素?

来自分类Dev

如何将具有一个相似列的两个表联接到一个表中

来自分类Dev

如何将两个不同的表中的两个选择语句显示到具有列的单个表中

来自分类Dev

如何将来自不同列的两个值连接到一个列中

来自分类Dev

如何将列值显示为行并将数据与其他表连接?

来自分类Dev

仅显示数据库表中的选定结果

来自分类Dev

如何将选定列的值存储在单独的行中?

来自分类Dev

如何将选定的列添加到词典中?

Related 相关文章

  1. 1

    如何将两列连接到同一张表

  2. 2

    如何将数据Gridview乘以两列并在另一列中显示结果

  3. 3

    如何在表中仅显示结果的一列

  4. 4

    如何将 Sql 结果显示到网格列中

  5. 5

    将Temp列的结果连接到表SQL Server

  6. 6

    将基于类型列的结果连接到不同的列中

  7. 7

    PostgreSQL:如何在函数中仅显示CASE表达式中单个表的选定列?

  8. 8

    使用SQL中的公共键将两个表/添加列连接到原始表

  9. 9

    使用SQL中的公共键将两个表/添加列连接到原始表

  10. 10

    如何将请求的结果联接到另一个表(添加列)

  11. 11

    使用PHP仅显示SQL中的选定列

  12. 12

    将一个表中的两列连接到另一引用表中的列

  13. 13

    将一个表中的两列连接到另一引用表中的列

  14. 14

    将两个表,多行连接到单行中的不同列

  15. 15

    为什么Pandas自动将csv中的所有表连接到两列?

  16. 16

    在SqlServer中,如何将多行中的单列连接到多列中的单行中

  17. 17

    如何将日期时间连接到C#asp.net中的文本框中以仅显示日期

  18. 18

    如何将php变量连接到javascript for循环中

  19. 19

    如何将约束类型连接到列信息

  20. 20

    如何将两个属性值连接到 Angular 7 数据表的单个数据表列中?(例如:名字和姓氏并入一列)

  21. 21

    如何使用 sql 将表连接到多个列,然后使用 php 访问数据?

  22. 22

    如何将滑块连接到JavaScript中的article元素?

  23. 23

    如何将具有一个相似列的两个表联接到一个表中

  24. 24

    如何将两个不同的表中的两个选择语句显示到具有列的单个表中

  25. 25

    如何将来自不同列的两个值连接到一个列中

  26. 26

    如何将列值显示为行并将数据与其他表连接?

  27. 27

    仅显示数据库表中的选定结果

  28. 28

    如何将选定列的值存储在单独的行中?

  29. 29

    如何将选定的列添加到词典中?

热门标签

归档