php - 来自数据库的带有 optgroup 的动态选择列表

标签 php mysql

我有以下代码填充一个选择列表,但是每个选项('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>

enter image description here

最佳答案

在这一行中:

$current_subcategory = $row['subcategory'];

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

关于php - 来自数据库的带有 optgroup 的动态选择列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14700711/

相关文章:

php - 如何为 P.H.P. 制作 .exe 文件安全离线应用

php - 空php文件的第一个字节值的长时间

数据库 |从另一个表中选择数据

php - 为 csv 文件设置多个字段终止符

mysql - addUniqueConstraint 的 "disabled"属性在 Liquibase 中是什么意思?

PHP:如何从 $_POST 中取消转义用户输入?

php - 如何修复 curl : (35) Cannot communicate securely with peer: no common encryption algorithm(s)

php - 匹配数组并更新数组一中的值

mysql - 如何从 iptables 调用 shell 或 Perl 脚本?

mysql - 如何根据结果从 mysql Group 中消除重复计数?