繁体   English   中英

数据库中带有optgroup的动态选择列表

[英]Dynamic select list with optgroup from database

我有以下代码填充选择列表,但是每个选项('link_title')在列表中位于其上方的是optgroup标题,而不是将选项分组到optgroup标题中:

<?php   
$query = mysql_query("SELECT * from link, link_category WHERE link.link_category_fk = link_category.link_category_pk ORDER BY link_category_fk, link_title ASC");
$current_subcategory = "";
while ($row = mysql_fetch_array($query)){

   if ($row["link_category_name"] != $current_subcategory) { 
       if ($current_subcategory != "") { 
           echo "</optgroup>"; 
       }
       echo '<optgroup label="'.$row['link_category_name'].'">'; 
       $current_subcategory = $row['subcategory'];
   }
   echo '<option value="'.$row['link'].'">'.$row['link_title'].'</option>'."\n";
 }
 echo "</optgroup>"; 
?>
          </select>

在此处输入图片说明

在这一行:

$current_subcategory = $row['subcategory'];

“子类别”不应该是“ link_category_name”吗? 当然,在没有看到您的数据库架构的情况下,我无法确定地回答该问题,但是问题似乎是记录列子类别的值与link_category_name的值不匹配(因此,如果if条件始终为true)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM