商品分类的修改

1、改表单Goods/edit.html,加下拉框

PHP.42-TP框架商城应用实例-后台17-商品属性3-商品分类的修改与删除

2、因为商品属性修改涉及商品属性表goods_attr{id,attr_value,attr_id,goods_id}属性表attribute{id,attr_name,attr_option_values,type_id},而且考虑到当一个类型新增一个属性时,修改表也应该将其显示出来,所以应根据属性表连接商品属性表取出相关数据{同一类型所有属性,该商品已存属性值}

PHP.42-TP框架商城应用实例-后台17-商品属性3-商品分类的修改与删除

  连表查询数据输出如下:

PHP.42-TP框架商城应用实例-后台17-商品属性3-商品分类的修改与删除

3、用PHP在表单edit.html中显示显示输出

<!--商品属性-->
            <table style="display:none;" width="90%" class="tab_table" align="center">
                <tr ><td>
                    商品类型:<?php buildSelect('Type', 'type_id', 'id', 'type_name', $data['type_id']); ?>
                </td></tr>
                <tr>
                    <td><ul id="attr_list">
                    <!-- 循环所有原属性值 -->
                    <?php 
                    $attrId = array();  // 所有出现过的属性ID
                    foreach ($gaData as $k => $v):
                            // 判断如果这个属性ID第一次出现就是+否则是-
                            if(in_array($v['attr_id'], $attrId))
                                $opt = '-';
                            else 
                            {
                                $opt = '+';
                                $attrId[] = $v['attr_id'];
                            }
                     ?>
                        <li>
                            <input type="hidden" name="goods_attr_id[]" value="<?php echo $v['id']; ?>" />
                            <?php if($v['attr_type'] == '可选'): ?>
                                <a onclick="addNewAttr(this);" href="#">[<?php echo $opt; ?>]</a>
                            <?php endif; ?>
                            <?php echo $v['attr_name']; ?> : 
                            <?php if($v['attr_option_values']):
                                    $attr = explode(',', $v['attr_option_values']);
                             ?>
                                <select name="attr_value[<?php echo $v['attr_id']; ?>][]">
                                    <option value="">请选择</option>
                                    <?php foreach ($attr as $k1 => $v1): 
                                            if($v1 == $v['attr_value'])
                                                $select = 'selected="selected"';
                                            else 
                                                $select = '';
                                    ?>
                                        <option <?php echo $select; ?> value="<?php echo $v1; ?>"><?php echo $v1; ?></option>
                                    <?php endforeach; ?>
                                </select>
                            <?php else: ?>
                                <input type="text" name="attr_value[<?php echo $v['attr_id']; ?>][]" value="<?php echo $v['attr_value']; ?>" />
                            <?php endif; ?>
                        </li>
                    <?php endforeach; ?>
                    </ul></td>
                </tr>
            </table>
商品属性表单输出

相关文章: