识别列表的元素 - PHP

时间:2014-04-17 10:09:26

标签: php mysql list

我最近一直在尝试制作一个包含两种元素的列表:首先是类别,然后是经典产品。 我已成功显示列表,但问题是我想确定用户是否在类别或简单产品上进行了陈词滥调,以便能够在此之后进行正确的显示。

列表就是这样透露的:

我使用一个函数来运行我的MySQL请求结果并显示行

while($row = $cursor->fetchObject()) {
  echo '<style> width: 500px </style><option value="'.$row->id.'" ';

  if ($row->id == $selected_id) {
    echo 'selected="selected" ';
  }
  if ($row->category_name != null) {
    echo '>' . $row->category_name . '</option>';
  }
  else {
    echo '>'.$row->name.'</option>';
  }
}

在页面中用应答器圈起来。

1 个答案:

答案 0 :(得分:1)

您可以在值中添加更多信息,例如,如果它是类别或名称

while($row = $cursor->fetchObject()) {
        $content = '';
        $id = '';
        $selected = '';
        if ($row->category_name != null) {
            $content = $row->category_name;
            $id = 'cat_'.$row->id.'_'.$row->category_name;
        }else{
            $content = $row->name;
            $id = 'name_'.$row->id.'_'.$row->category_name;
        }
        if ($row->id == $selected_id) {
            $selected = 'selected="selected" ';
        }
        echo '<style> width: 500px </style><option value="'.$id.'" '.$selected.'>'.$content.'</option>';
    }

然后,当您分析结果时,您可以通过爆炸提取ID和格式(类别或名称),例如

$temp = explode('_',$value);
$id = $temp[1];
if ($temp[0] == 'cat'){
    //here category
    $catname = $temp[2];
}else{
    //here name
    $name = $temp[2];
}