快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

实现一个基于Ajax的调查程序

<html>
<head>
<title>投票</title>
<META http-equiv=Content-Language content=zh-cn>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<style type="text/css">
<!--
.poll {font-size: 10pt;display:block}
.pollresult {font-size: 12pt;display:none}
-->
</style>
<?php
 include_once("server1.server.php"); #servidor para XAJAX
 $xajax->printJavascript();
?>

</head>
<body>

<script language=javascript>
    function back() {
      document.getElementById(\\'poll\\').style.display = \\'block\\';
      document.getElementById(\\'pollresult\\').style.display = \\'none\\';
      document.getElementById(\\'pollresult\\').innerHTML = \\'\\';
    }
</script> 
<div id=pollresult class=pollresult>

</div>


<?php


global $db;

$poll = $db->getRow("select * from TBL_POLL order by poll_id desc limit 1");
$poll_id = $poll["poll_id"];
$pollitems = $db->getAll("select * from TBL_POLLITEM where poll_id=$poll_id");
?>
<div id=poll class=poll>
<form id="pollForm" action="javascript:void(null);" onsubmit="onSubmit();">
   <?php echo $poll["title"]; ?><br>
   <?php for ($i = 0, $count = count($pollitems); $i < $count; $i++) { ?>
  <input type="radio" style="background-color : #CCCCCC;" name="pollitem" value="<?php echo $pollitems[$i][\\'pollitem_id\\'] ?>"><?php echo $pollitems[$i][\\'content\\'] ?><br>
  <?php } ?>
  <input type="hidden" name="poll_id" value="<?php echo $poll_id; ?>">
  <input type="submit" value="enter">
</form>
<script language=javascript>
    function onSubmit() {
      xajax_poll(xajax.getFormValues("pollForm"));
      document.getElementById(\\'poll\\').style.display = \\'none\\';
      document.getElementById(\\'pollresult\\').style.display = \\'block\\';
    }
</script>
</div>

</body>
</html>

服务器端

function poll($formData){
  global $db;
  $tmp="";
  $objResponse = new xajaxResponse();
 
  $poll_id = $formData[\\'poll_id\\'];
  $pollitem_id = $formData[\\'pollitem\\'];
 
  if($pollitem_id > 0 && $poll_id > 0) {
   $db->query("update ".TBL_POLLITEM." set count=count+1 where pollitem_id = $pollitem_id");                 
  }
 
  $poll = $db->getRow("select * from TBL_POLL where poll_id = $poll_id");
  $pollitems = $db->getAll("select * from TBL_POLLITEM where poll_id=$poll_id");
 
 
  $tmp .="<div align=center>".$poll["title"]."</div><br>";
    for ($i = 0, $count = count($pollitems); $i < $count; $i++) {
      $tmp .="<div align=left>".$pollitems[$i][\\'content\\'].": ".$pollitems[$i][\\'count\\']."</div>";
    }
  $tmp .="<div align=center>"."<input type="button"  value="返回" onclick="back();">"."</div>";
 
  $objResponse->addAssign("pollresult","innerHTML",$tmp);
  return $objResponse->getXML();
}

 

数据库的表如下

CREATE TABLE TBL_POLL (
  poll_id int(11) unsigned NOT NULL default \\'0\\',
  title varchar(100) NOT NULL default \\'\\',
  created_date bigint(20) unsigned NOT NULL default \\'0\\',
  user_id int(11) unsigned NOT NULL default \\'0\\',
  PRIMARY KEY  (poll_id)
) TYPE=MyISAM;

CREATE TABLE TBL_POLLITEM (
  pollitem_id int(11) unsigned NOT NULL default \\'0\\',
  poll_id int(11) unsigned NOT NULL default \\'0\\',
  content varchar(100) NOT NULL default \\'\\',
  count int(11) unsigned NOT NULL default \\'0\\',
  PRIMARY KEY  (pollitem_id)
) TYPE=MyISAM;

这个例子中,调查的选项只在页面装载时读出,投票后在原地显示最新的投票信息。不需要弹出窗口


返回类别: 教程
上一教程: php作wap开发时碰到的问题
下一教程: 玩转虚拟域名◎+ . 

您可以阅读与"实现一个基于Ajax的调查程序"相关的教程:
· 一个基于mysql的登陆验证程序(二)
· 一个基于mysql的登陆验证程序(三)
· 一个基于mysql的登陆验证程序(一)
· 用PEAR来写你的下一个php程序
· 用PHP实现通过Web执行C/C++程序
    微笑服务 优质保证 索取样品