我需要将 PHP 形式的下拉菜单转换为多个清单


I need to convert a dropdown menu in a PHP form to a multiple checklist

我正在使用一个PHP/MySQL脚本来管理我们的域名组合。我正在尝试修改表单中的下拉字段以转换为复选框表。

目前,下拉菜单与我们所有的类别变量一起传播,我需要复选框菜单来做同样的事情,但一次显示所有类别。

这是下拉列表的当前代码:

<select name="category[]" id="category" multiple="multiple"
style="width:400px; height:1500px;"> <?php echo
build_select('category'); ?></select>

运行中的页面示例在这里 用户:演示 通行证:演示

Build_select代码:

enter code here函数是($option、$value){ 全球$db;

switch ($option)
{
    case 'orderby':
        if (!in_array($value, array('domain', 'category', 'registrar', 'regdate', 'expiry', 'price', 'status')))
        {
            return 'domain';
        }
        break;
    case 'catid':
        if (is_string($value))
        {
            return NULL;
        }
        else if (is_integer($value) AND !is('category', $value))
        {
            return NULL;
        }
        break;
    case 'email':
        return (bool)(preg_match('#^[a-z0-9.!'#$%&''*+-/=?^_`{|}~]+@([0-9.]+|([^'s''"<>]+'.+[a-z]{2,6}))$#si', $value));
        break;
    case 'injection':
        return (bool)(preg_match('#(To:|Bcc:|Cc:|Content-type:|Mime-version:|Content-Transfer-Encoding:)#i', urldecode($value)));
        break;
    case 'spam':
        preg_match_all('#(<a href|'[url|http[s]?://)#i', $value, $matches, PREG_PATTERN_ORDER);
        return (bool)(count($matches[0]) > 2);
        break;
    case 'domain':
        $getdomain = $db->query("
            SELECT *
            FROM " . TABLE_PREFIX . "domains
            WHERE " . (is_numeric($value) ? "domainid = " . intval($value) : "domain = '$value'") . "
        ");
        $numrows = $db->num_rows($getdomain);
        $db->free_result($getdomain);
        return (bool)($numrows > 0);
        break;
    case 'category':
        if (is_numeric($value) AND $value == 0)
        {
            return true;
        }
        $getcategory = $db->query("
            SELECT *
            FROM " . TABLE_PREFIX . "categories
            WHERE " . (is_numeric($value) ? "catid = " . intval($value) : "title = '$category'") . "
        ");
        $numrows = $db->num_rows($getcategory);
        $db->free_result($getcategory);
        return (bool)($numrows > 0);
        break;
    case 'expdate':
        $value = str_replace('-', '/', $value);

您将需要一个

<input type='checkbox' name="category[]" value='valueToPassInCategory' /> 

对于每个元素。应编辑您的build_select以执行此操作。不再需要select