【发布时间】:2011-11-02 19:33:31
【问题描述】:
在 CodeIgniter 中,我正在尝试创建一个表格,其中填充来自 Facebook Graph API 的数据。
JSON 加载一个控制器,将数据传递给一个视图,而正是这个视图被添加到一个预先存在的表中。
我的 PHP 视图如下所示:
if (array_key_exists('is_community_page', $json)==FALSE){
echo '<tr>';
echo '<td><a href="http://graph.facebook.com/' . $json['id'] . '">ID</a></td>';
echo '<td><a href="' . $json['link'] . '">'. $json['name'] .'</td>';
if (!empty($json['website'])) {
if (!preg_match("~^(?:f|ht)tps?://~i", $json['website'])) {
$json['website'] = "http://" . $json['website'];
}
echo '<td><a href="' . $json['website'] . '">' . $json['website'] . '</a></td>';
}
else {
echo '<td>N/A</td>';
}
if (!empty($json['likes'])) {
echo '<td class="num">' . number_format($json['likes']) . '</td>';
}
if (!empty($json['checkins'])) {
echo '<td class="num">' . number_format($json['checkins']) . '</td>';
}
echo '</tr>';
}
jQuery/JSON 看起来像这样:
$.ajax({
url: "<?php echo site_url('controller/function'); ?>",
type: 'POST',
data: form_data,
success: function(data) {
$('#results_table').html(data);
}
});
但是当数据返回时,它只是在<table>标签之间插入<a>元素,而不是<td>或<tr>之间。
谁能明白为什么它可能会忽略表格行和表格数据标签,但仍保留锚标签和所有需要的内容?
【问题讨论】:
-
你应该考虑 tbody 和 html 表格中的其他东西。
-
我同意 tbody。不使用它和 ajax 时,我得到了一些奇怪的表格结果。我不完全相信这是问题所在,但请试一试,让我们知道会发生什么。
-
嗯,好的,谢谢,但 似乎没有任何改变。更新:我清除了缓存,现在
<tbody>似乎可以工作了。如果你们中的任何一个想要创建这个作为因果报应的答案,我很乐意将它传递下去。#results_table元素是什么?<table>标签?还是包裹桌子的<div>?
标签: php jquery json html-table