列表元素的标识-PHP

列表元素的标识-PHP,php,mysql,list,Php,Mysql,List,我最近一直在尝试生成一个列表,其中将包含两种类型的元素:首先是类别,然后是经典产品。 我已经成功地显示了列表,但问题是,我想确定用户是否在类别或简单产品上进行clics操作,以便在此之后能够进行正确的显示 列表如下所示: 我使用一个函数来运行MySQL请求的结果并显示行 while($row = $cursor->fetchObject()) { echo '<style> width: 500px </style><option value="'.$ro

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

列表如下所示:

我使用一个函数来运行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>';
  }
}
while($row=$cursor->fetchObject()){
回显“宽度:500px”。$行->类别名称。“;
}
否则{
回显'>'.$row->name';
}
}

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

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

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>';
    }

可能您需要使用ajax。。这将对您有所帮助。如果您根本不使用Javascript,我能想到的唯一方法是在值中添加一些前缀或后缀,如
value=“cat_MyCategor”
,然后在下一页上使用
substr()
,确定它是一个类别还是一个产品。无论如何,我认为使用选择框可能不是这里最合适的选择。也许你应该制作一个链接列表,根据它们是类别还是产品指向不同的URL。谢谢,这正是我想要的:)
$temp = explode('_',$value);
$id = $temp[1];
if ($temp[0] == 'cat'){
    //here category
    $catname = $temp[2];
}else{
    //here name
    $name = $temp[2];
}