【问题标题】:Updating data in foreach loop using ajax in PHP在 PHP 中使用 ajax 更新 foreach 循环中的数据
【发布时间】:2014-03-25 16:57:51
【问题描述】:

我正在使用 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 的内容。

【问题讨论】:

  • 您需要编写一些客户端代码来向服务器发送 ajax 请求,以及一些服务器端代码来响应您需要的数据
  • 我会写ajax,我想知道如何在PHP变量中获取数据

标签: php ajax codeigniter


【解决方案1】:

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

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

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

第二步: 在客户端:(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&amp;action=show。 插入您使用的 URL 样式,以向 CI 发出请求。

这个答案在客户端 JS 上进行迭代,并准备一个 dom-element 用于插入,对。

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

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

【讨论】:

  • np。别客气。我添加了另一种解决问题的方法。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2016-03-03
    • 2021-08-16
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-04-28
    • 2016-04-09
    • 1970-01-01
    • 2018-06-22
    相关资源
    最近更新 更多