使用PHPCMS V9万能字段给发布页面添加了一个可选配件的功能,说简单点就是在发布产品的时候可以手动选择另外栏目(配件)中已发布的信息与本文相关联使用万能字段写了自定义函数已经成功调用指定栏目的信息标题并显示出来,如图以下是自己写的自定义函数function my_pro_party($partyid = 46){ $db = pc_base::load_model('content_model'); $proparty = $db->query("select id,title from v9_prod where catid=21"); $str="<ul>"; foreach ($proparty as $value) { $num==0;$num++; if($partyid == $value['id']) { $str.="<li class='choparty'><input name=\"info[choparty]\" id=\"choparty_$num\" type='checkbox' checked value='{$value['id']}'>{$value['title']}</li>"; }else{ $str.="<li class='choparty'><input name=\"info[choparty]\" id=\"choparty_$num\" type='checkbox' value='{$value['id']}'>{$value['title']}</li>"; } } $str.="</ul>"; return $str;}现在的问题是,不管我勾选多少项,始终只存入数据库其中一项的value值,求高手帮助
额……实际上很简单,道是跟phpcms万能字段没啥关系,把checkbox的name值改下即可:
<input name=\"info[choparty]\" id=\"choparty_$num\" type='checkbox'改为:
这样就可以以数组的形式获得所有选中值了。
另外,$proparty = $db->query("select id,title from v9_prod where catid=21");中个人感觉使用select方法代替query更方便,sql语句中的表前缀v9_可以使用phpcms_代替,程序会自动将其替换为当前系统的表前缀,可以增加兼容性。以上算是个人建议吧,也推荐参考iphpcms的教程。