首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SELECTED = SELECTED & Chain选择PHP

SELECTED = SELECTED & Chain选择PHP
EN

Stack Overflow用户
提问于 2014-05-20 06:09:36
回答 1查看 164关注 0票数 0

我有一个工作很好的链选择,但我希望能够将数据从搜索记录表单推送到包含链选择的表单,如何在此代码中使用SELECTED = SELECTED?

我的select.class.php

代码语言:javascript
复制
<?php
class SelectList {
    public function ShowMake($searchboilermake) {
        include "./core/cnn.php";
        $sql = "SELECT * FROM blr_boilermake";
        $res = mysql_query($sql);
        $boilermake = '<option value=""></option>';
        while($row = mysql_fetch_array($res)) {
            $boilermake .= '<option value="' . $row['BoilerID'] . '"';
            $boilermake .= ($row['BoilerID']==$searchboilermake) ? " selected='selected' " : "";
            $boilermake .= '>' . $row['BoilerMake'] . '</option>';
        }
        return $boilermake;
    }

    public function ShowModel() {
        include "../core/cnn.php";
        $sql = "SELECT * FROM blr_boilermodel WHERE BoilerModel IS NOT NULL AND BoilerID = $_POST[id]";
        $res = mysql_query($sql);
        $boilermodel = '<option value="0"></option>';
        while($row = mysql_fetch_array($res)) {
            $boilermodel .= '<option value="' . $row['ModelID'] . '">' . $row['BoilerModel'] . '</option>';
        }
        return $boilermodel;
    }
}
$opt = new SelectList();
?>

从我页面上的表单中,我使用它来拉入boilermake字段的select.class.php

代码语言:javascript
复制
<label>Manufacturer</label>
<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="boilermanufacturer" name="boilermanufacturer">
<?php echo $opt->ShowMake($_REQUEST['boilermanufacturer']); ?>
</select>

这是我的boilermodel字段

代码语言:javascript
复制
<label>Model</label>
<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="boilermodel" name="boilermodel">
 <option value=""></option>
</select>

在其他更直接和更标准的选择中,我在下面使用了这个,但是我如何才能使下面的选择适应我的链选择?

代码语言:javascript
复制
<div class="form-group">
<label>Fuel Type</label>
<?php $fueltype = db::getInstance()->query('SELECT * FROM lkup_fueltype');
if(!$fueltype->count()) { 
    echo 'Problem'; 
} else { ?> 
<select class="select2_category form-control" data-placeholder="Choose a Category" tabindex="1" id="propertyfueltype" name="propertyfueltype">
<?php foreach ($fueltype->results() as $fueltype) { ?>
<option value="<?php echo $fueltype->ID; ?>"<?php echo $fueltype->ID == $searchboilerfueltype ? "selected" : ""; ?>><?php echo $fueltype->PropertyFuelType; ?></option> <?php } } ?>
</select>

我尝试使用它,但当我运行代码时,它没有选择选定的行

代码语言:javascript
复制
$boilermake .= '<option value="' . $row['BoilerID'] . '" "' . $row['BoilerID'] . '" == $searchboilermake ? "selected" : "">' . $row['BoilerMake'] . '</option>';

我应该做些什么/或者我能做些什么才能让它正常工作?

EN

回答 1

Stack Overflow用户

发布于 2014-05-20 07:28:42

问题是您试图在字符串中使用布尔/三元表达式。这显然不会在这样的字符串中进行计算。

代码语言:javascript
复制
$boilermake .= '<option value="' . $row['BoilerID'] . '"';
$boilermake .= ($row['BoilerID']==$searchboilermake) ? " selected='selected' " : "";
$boilermake .= '>' . $row['BoilerMake'] . '</option>';

编辑:您需要修改函数ShowMake以将$searchboilermake作为参数传入。

函数定义:

代码语言:javascript
复制
public function ShowMake($searchboilermake) {

对函数的调用:

代码语言:javascript
复制
<?php echo $opt->ShowMake($_REQUEST['boilermanufacturer']); ?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23748012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档