我正在使用一个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
。