【问题标题】:How to display specific value from SQL in a dropdown depending on another condition如何根据另一个条件在下拉列表中显示来自 SQL 的特定值
【发布时间】:2014-02-11 18:14:28
【问题描述】:

我需要一些帮助来解决我一直困扰的问题。

我有一个广告列表,其中显示了不同类别的车辆 - 汽车、摩托车、卡车、船只等。我有一个可以用作过滤器的下拉菜单。根据列表中的车辆,下拉值应等于车辆的类别。

例如,如果列表中有 3 辆汽车:Audi、BMW 和 Porsche 以及 2 艘船:Cranchi 和 Azimut,则下拉列表应显示 5 个值:Audi、BMW、Porsche、Cranchi、Azimut。

但是,对于上面的示例,我仅设法在下拉列表中显示从数据库中制造的所有汽车和船,而不仅仅是与列表条目相关的。

这是我的代码,任何想法都将不胜感激:

<option value="">Please Select</option>
                        <?php
                         if($all=='ALL')
                            {
                        foreach($arrVehicleType as $arrVehicleTypes){


                        $qry_makes_all  = "SELECT * FROM ".$tblprefix."makes WHERE  status ='1' AND type = '".$arrVehicleTypes."' ORDER BY title ASC";
                        $rs_makes_all   = $db->Execute($qry_makes_all);
                         while(!$rs_makes_all->EOF){

                             $sql_query_all_all     = "SELECT type FROM ".$tblprefix."vehicles WHERE user_dealer_id = '".$DealeId."' AND  make='".$rs_makes_all->fields['id']."' AND user_dealer_type = 2   AND completed_status = 1 AND  status = 1 ";     
                             $rs_results_all_all    = $db -> Execute($sql_query_all_all);
                             $TYPE = $rs_results_all_all -> fields['type'];
?>


                <option value="<?php echo $rs_makes_all->fields['id'];?>,<?php echo $rs_makes_all->fields['title']." ($vehicletext)";?>
                </option>
                <?php $rs_makes_all->MoveNext();  } }} else {
                  while(!$rs_makes->EOF){?>
                        <option value="<?php echo $rs_makes->fields['id'];?>,,<?php echo $arrVehicleType[0];?>">
                        <?php echo $rs_makes->fields['title'];?>
                        </option>

                        <?php 

                        $rs_makes->MoveNext(); } } ?>
                    </select>

【问题讨论】:

    标签: php mysql database


    【解决方案1】:

    在 Mysql 中使用 DISTINCT。

    $qry_makes_all  = "SELECT DISTINCT /* list column names */ FROM ".$tblprefix."makes WHERE  status ='1' AND type = '".$arrVehicleTypes."' ORDER BY title ASC";
    

    这将从您的表中选择所有不同的值。

    【讨论】:

      猜你喜欢
      • 2016-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多