0

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

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

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

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

实际页面的一个示例在这里user: demo pass: demo

Build_select 代码:

enter code here函数是 ($option, $value) { global $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);
4

1 回答 1

1

您将需要一个

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

对于每个元素。你build_select应该被编辑来做到这一点。不再select需要。

于 2013-10-29T21:54:27.517 回答