企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
原作者:不详    chm整合-yufan  Q:956932910 个人网站[http://www.phper.kuphp.net/](http://www.phper.kuphp.net/)  论坛推荐[http://bbs.lampym.com/index.php?c=thread&fid=12](http://bbs.lampym.com/index.php?c=thread&fid=12)   用户可以在其基础上扩展出更多的功能。 一、提交投票模板 网站模板:/风格目录/vote_post.html 投票主题:{$subject} 投票选项:{$options}(数组格式) 投票总数:{$votenums} 主题描述:{$description} 主题状态:{$status},1为生效,0为失效 支持多选:{$ischeckbox} 投票表单(以下代码为用户参考) <form action="" method="post"> {loop $options $k=>$t} <li> {if $ischeckbox} <input name="vote_id[]" value="{$k}" type="checkbox"> {else} <input name="vote_id" type="radio" value="{$k}"> {/if} {$t} </li> {/loop} <br><br> <input type="submit" value="提交投票" name="submit"> </form>   如果其他页面调用投票表单,可以用下面方法实现: 1、首先自定义一个函数调用投票插件数据(函数放在自定义库文件中custom.php)。       /**     * 获取投票数据     * 参数$id 插件主题ID号     */     function get_vote_data($id) {             if (empty($id)) return false;             $vote = App::plugin_model('vote', 'vote'); //实例化插件vote中的vote表             $data = $vote->find($id); //查询该主题数据             if (empty($data)) return false;             $data['options']   = string2array($data['options']); //将投票选项转化为数组格式             $data['votedata'] = string2array($data['votedata']); //将投票值转化为数组格式             return $data;     }   复制代码 2、在某个模板中调用表单。 {php $vote = get_vote_data(投票主题id号);} {if $vote} {php extract($vote);} <这里写表单代码> 将表单的Action值设置为提交投票的地址,如action="{url('vote/index/post', array('id'=>$vote['id']))}" {/if} (dayrui补充于2012-08-20)   二、查看结果模板 网站模板:/风格目录/vote_post.html 字段说明 投票主题:{$subject} 投票选项:{$options}(数组格式) 投票数据:{$votedata}(数组格式,与投票选项对应) 投票总数:{$votenums} 主题描述:{$description} 主题状态:{$status},1为生效,0为失效 模板调用(以下代码为用户参考) <style> .vote {     background: none repeat scroll 0 0 #EBEBEB;     height: 10px;     line-height: 10px;     overflow: hidden; } .vote .vote_result {     border: 1px solid #D28F49;     display: block;     height: 8px;     line-height: 0;     overflow: hidden; } .vote .vote_result em { background: rgb(251, 171, 89); border-width: 1px 1px 0px; border-style: solid solid none; border-color: rgb(255, 202, 147) rgb(255, 202, 147) currentColor; height: 7px; line-height: 7px; overflow: hidden; display: block; } </style> <table width="100%"> {loop $options $k=>$t} {php $per= isset($votedata[$k]) ? intval($votedata[$k]/$votenums*100) : 0;} <tr> <th width="100">{$t}</th> <td width="200"><div class="vote"><span class="vote_result" style="width:{$per}%;"><em></em></span></div></td> <td>({intval($votedata[$k])})</td> </tr> {/loop} </table>                 代码嵌入方式 1、投票显示框代码(文档内容页调用)       <!--调用投票应用-->     {if dr_is_app('vote')}     <script type="text/javascript" src="{SITE_URL}index.php?s=vote&module={APP_DIR}&cid={$id}"></script>     {/if}   复制代码 2、投票人数统计代码       <script type="text/javascript" src="{SITE_URL}index.php?s=vote&c=total&m=num&module={APP_DIR}&cid={$id}"></script>   复制代码 3、顶票人数统计代码       <script type="text/javascript" src="{SITE_URL}index.php?s=vote&c=total&m=digg&module={APP_DIR}&cid={$id}"></script>   复制代码 上面的{APP_DIR}是当前模块的目录,{$id}是对应文章的id号