dsgixl5195 2013-04-11 11:16
浏览 49
已采纳

在HTML select标签中使用php函数

I created a function in php, my goal with this function is to print the following line in a HTML select tag.

<option value="<?php echo $key . $product[$name . '_id'] == $key ? 'selected' : null  ?>"><?php echo $value ?></option>

This is what I've come up with:

function Select($name){
    $ids = array();
    $values = array();
    $query1 = $sql->query("SELECT * FROM '$name'");
    while($fetch = $query1->fetch_assoc()){
        array_push($ids, $fetch[$name . '_id']);
        array_push($values, $fetch[$name]);
    }
    $names = array_combine($ids, $values);

    foreach($names as $key => $value){
        return '<option value="' . $key . '"' . $product[$name . '_id'] == $key ? 'selected' : null . '>' . $value . '</option>';
    }
}

This does not seem to work, however when I put this directly in the HTML select tag it does work. It looks like this:

<select name="type" class="chozen" id="type">
    <?php
        $brand_ids = array();
        $brand_values = array();
        $query1 = $sql->query("SELECT * FROM brands");
        while($brand = $query1->fetch_assoc()){
            array_push($brand_ids, $brand['brand_id']);
            array_push($brand_values, $brand['brand']);
        }
        $brands = array_combine($brand_ids, $brand_values);

        foreach($brands as $key => $value){
            ?>
            <option value="<?php echo $key ?>"<?php echo $product['brand_id'] == $key ? 'selected' : null ?>><?php echo $value; ?></option>
            <?php
        }
    ?>
</select>

Can someone point me where I went wrong, I can not figure it out.

  • 写回答

3条回答 默认 最新

  • doouzlrvb01417498 2013-04-11 11:22
    关注

    I think you can try the following line:

    $str = "";
    foreach($names as $key => $value){
       $str .= '<option value="' . $key . '" ' . (($product[$name . '_id'] == $key) ?     'selected'    : '') . '>' . $value . '</option>';
    }
    return $str;
    

    1) use empty string instead of null. 2) Space after $key in value

    hopefully it help

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题