如何用 CI jquery ajax 实现 顶踩 的功能
目前我希望的结果是这样的主页显示的内容有3个demo
分别通过 controler (top.php) => model (M_Top.php) => controler(top.php) => view (top_view.php)实现如下:
1.将表 vote 中查找出来的前3个数据的 itemid (primary key) 和 num (顶的次数)
然后返回到界面,并展示出来
2.点击 顶 的时候,通过传递 itemid ,用 jquery ajax 实现更新数据库的 num
并返回更新后的 num 的值
3.根据返回后的值,更新界面的展示 num 的值
主要问题如下:
1.jquery ajax 更新部分一直未成功
其中关于传递的 url 部分,以及 参数 一直很纠结(CI 的url有自己的规则,不确定传递CI的还是传统的)
2.此处主界面展示目前固定是3个demo部分
如果我希望随时可以添加,controler和 view 部分该如何实现
本人新手,希望借此学习,希望取得真经!!!
Thanks in advance
我写了一部分,但是没成功
--top.php--
————————————————————————————————
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Top extends CI_Controller {
public function index()
{
$CONST_DISPLAY = 3;
$this->load->model('M_Top');
$query = $this->M_Top->select_num();
$n = $query->num_rows();
if (($n > 0) && ($n <= $CONST_DISPLAY))
{
$i = 0;
$row = $query->first_row();
while ($i < $n)
{
$data["arr$i"]['id'] = $row->itemid;
$data["arr$i"]['num'] = $row->num;
$row = $query->next_row();
$i++;
}
$this->load->view('top_view',$data);
}
else
{
$this->load->view('top_view_none.php');
}
}
}
———————————————————————————————— M_Top.php
————————————————————————————————
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class M_Top extends CI_Model {
function __construct()
{
parent::__construct();
$this->load->database();
}
function select_num()
{
$this->db->select('*');
$this->db->from('vote');
return $this->db->get();
}
}
———————————————————————————————— top_view.php
————————————————————————————————
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript" src="/assets/js/jquery.js"></script>
<script type="text/javascript" src="/assets/js/top.js"></script>
<title>Top Click</title>
</head>
<body>
<a id="press-0" href="javascript:void(0)">顶</a>
<span id="<?php echo $arr0['id']; ?>"><?php echo $arr0['num']; ?></span>
<hr>
<a id="press-1" href="javascript:void(0)">顶</a>
<span id="<?php echo $arr1['id']; ?>"><?php echo $arr1['num']; ?></span>
<hr>
<a id="press-2" href="javascript:void(0)">顶</a>
<span id="<?php echo $arr2['id']; ?>"><?php echo $arr2['num']; ?></span>
<hr>
</body>
</html>
———————————————————————————————— Js部分是一直没有实现,写的太烂就不发了
麻烦帮看一下改如何修改!!! 关键看你报什么错了,呵呵 Hex 发表于 2012-2-17 18:47 static/image/common/back.gif
关键看你报什么错了,呵呵
暂时没有截取到报错信息
你这边的话 麻烦帮我看一下url该怎么传吧
我这个东西弄的有点混淆
Hex 发表于 2012-2-17 18:47 static/image/common/back.gif
关键看你报什么错了,呵呵
我刚看了 Apach error log 有这个信息
File does not exist: C:/wamp/www/favicon.ico
script 'C:/wamp/www/announce.php' not found or unable to stat
File does not exist: C:/wamp/www/announce
File does not exist: C:/wamp/www/announce
File does not exist: C:/wamp/www/announce lynn.wang 发表于 2012-2-17 19:12 static/image/common/back.gif
我刚看了 Apach error log 有这个信息
File does not exist: C:/wamp/www/favicon.ico
script 'C:/wamp/w ...
这个错误没事,暂时不用关心。 目前试到这个程度,发现其中有不对的地方,但是未找出
top.js
function clicktop(sid,num) {
$(document).ready(function() {
$("#press-"+sid).click(function{
$.ajax({
type : "post",
data : "id="+sid,
url: "<?php echo base_url() ?>/Add_Num",
success: function(result) {
alert('right');
},
error: function() {
alert('wrong');
}
});
});
});
$("#"+sid).html(num+1);
}
加入 $(document).ready(function() 以后,就没效果了
肯定是这里出了问题了
麻烦帮看下
页:
[1]
2