如何将json值数据库转换为html
Posted
技术标签:
【中文标题】如何将json值数据库转换为html【英文标题】:How to convert json value database to html 【发布时间】:2019-11-24 17:41:52 【问题描述】:我的数据库上有通知表,其中的值使用 json 之类的。
这是我的桌子
id | touserid | data
1 2 a:1:i:0;s:10:"INV-000001";
2 2 a:1:i:0;s:10:"INV-000003";
3 2 a:1:i:0;s:15:"The Mej Hotel";
4 1 a:5:i:0;s:28:"Total Goalsi:1;s:7:"6250000";
5 1 a:1:i:0;s:10:"INV-000007";
我想在 html 表中使用该值,但我不知道如何将值转换为 codeigniter 中的 html 表
这是我的视图代码
<table class="table table-dark">
<tbody>
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Data</th>
<
</tr>
</thead>
<tbody>
<?php foreach($notifications as $notif) ?>
<tr>
<td><?php echo $notif['id'] ?></td>
<td><?php echo $notif['data'] ?></td>
</tr>
<?php ?>
</tbody>
</table>
这是控制器代码
$this->db->limit($this->misc_model->get_notifications_limit(), $offset);
$this->db->where('touserid', get_staff_user_id());
$this->db->order_by('date', 'desc');
$data['notifications'] = $this->db->get(db_prefix() . 'notifications')->result_array();
$this->load->view('admin/sales/sales', $data);
但我没有看到数据值像我想要的那样进入 html 表,在表中它显示错误消息“not_goal_message_failedArray”
我正在尝试对 json 进行编码,但我仍然不知道如何在控制器中传递 json 编码以在 codeigniter 中查看
这是 json 编码
$page = $this->input->post('page');
$offset = ($page * $this->misc_model->get_notifications_limit());
$this->db->limit($this->misc_model->get_notifications_limit(), $offset);
$this->db->where('touserid', get_staff_user_id());
$this->db->order_by('date', 'desc');
$notifications = $this->db->get(db_prefix() . 'notifications')->result_array();
$i = 0;
foreach ($notifications as $notification)
if (($notification['fromcompany'] == null && $notification['fromuserid'] != 0) || ($notification['fromcompany'] == null && $notification['fromclientid'] != 0))
if ($notification['fromuserid'] != 0)
$notifications[$i]['profile_image'] = '<a href="' . admin_url('staff/profile/' . $notification['fromuserid']) . '">' . staff_profile_image($notification['fromuserid'], [
'staff-profile-image-small',
'img-circle',
'pull-left',
]) . '</a>';
else
$notifications[$i]['profile_image'] = '<a href="' . admin_url('clients/client/' . $notification['fromclientid']) . '">
<img class="client-profile-image-small img-circle pull-left" src="' . contact_profile_image_url($notification['fromclientid']) . '"></a>';
else
$notifications[$i]['profile_image'] = '';
$notifications[$i]['full_name'] = '';
$data = '';
if (!empty($notification['data']))
$data = unserialize($notification['data']);
$x = 0;
foreach ($data as $dt)
if (strpos($dt, '<lang>') !== false)
$lang = get_string_between($dt, '<lang>', '</lang>');
$temp = _l($lang);
if (strpos($temp, 'project_status_') !== false)
$status = get_project_status_by_id(strafter($temp, 'project_status_'));
$temp = $status['name'];
$dt[$x] = $temp;
$x++;
$notifications[$i]['description'] = _l($notification['description'], $dt);
$notifications[$i]['date'] = time_ago($notification['date']);
$notifications[$i]['full_date'] = $notification['date'];
$i++;
echo json_encode($notifications);
你知道我在尝试将表中的 json 值转换为 html 表代码时的错误在哪里吗?
谢谢
【问题讨论】:
这看起来不像 JSON;它看起来像 serialized array。 您的错误信息不清楚,请说明清楚,您能详细解释一下您的表格设计问题吗? 嗨@M.Hemant,在表中我没有看到我想要的值,但我在表中收到错误消息“not_goal_message_failedArray” 嗨@showdev,谢谢,但是当我尝试json_encode时,它显示的是json格式的数据 抱歉,我不清楚您要做什么。您是否将序列化字符串编码为 JSON?包含您进行编码/解码的代码部分可能会有所帮助。 【参考方案1】:-
表中的数据看起来像一个序列化数组
你不会通过 echo 获取数据,应该使用
$this->load->view("notification_view", $notifications);
而不是
echo json_encode($notifications);
【讨论】:
您好,我已尝试查看代码,但仍然无法正常工作,表格中没有显示任何内容以上是关于如何将json值数据库转换为html的主要内容,如果未能解决你的问题,请参考以下文章
如何解压缩数据框列中存在的 json 的键,值将转换为键作为列,而使用 python 将其值转换为列?
如何将一列数据框转换为具有json格式值的分布列(PYTHON)
如何使用pyspark将具有多个可能值的Json数组列表转换为数据框中的列