我正在使用 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);