使用PHP中的ajax在foreach循环中更新数据

时间:2014-03-25 16:57:52

标签: php ajax codeigniter

我在codeigniter中工作,并在div中使用foreach循环来显示数据库的内容 这是我的代码

<?php foreach($values as $row): ?>
<div class="col-xs-6 col-md-3" id="<?php echo $row->album_id ?>">
<?php echo $row->album_name; ?>
</div>
<?php endforeach; ?>

我的问题是如何使用ajax更新“$ values”的值,以及如何刷新此div的内容。

2 个答案:

答案 0 :(得分:1)

步骤1: 在PHP端添加一个请求值的操作:

<?php
$myValues = array(); // maybe from database?
header('Content-type: application/json');
echo json_encode($myValues);
?>

这是您将JSON数据发送到客户端的控制器操作。

步骤2: 在客户端:(a)添加jQuery,然后(b)执行ajax调用以从上面的操作中获取数据,如下所示:

$.getJSON( "index.php?getValueAction", function( data ) {
   alert(data);

   // to access the individual properties you would do
   alert(data.property); 

   // use jquery selectors to target the element, where you want the content
   $("#myDiv").append(...);
   // you should create a proper html element before inserting it :)
}

getJson()调用的第一个参数取决于您的Codeigniter路由配置。 有些人/index/forum/show,有些人有index.php?controller=forum&action=show。 插入您使用的URL样式,以向CI发出请求。

这个答案在客户端JS上进行迭代,并为插入准备一个dom元素,对吧。

- 另一种方法是保持PHP部分就像你拥有它并在AJAX请求上发送整个HTML部分。这不是很好,但有效。然后,这是对提供HTML片段的控制器/操作的基本Ajax Get请求。

$.get( "URL", function( data ) {
   $("#myDiv").html( data );
});

答案 1 :(得分:0)

您还可以使用jquery DataTables进行服务器端处理(使用Ajax)。有一些great examples on the data tables site