我才刚刚开始学习PHP。我正在努力从WordPress数据库中获取信息。
该插件将数据从注册表单写入数据库。
我想要的是用我自己的方式格式化这些数据,比如说一个表格,在一个单独的页面上。
所以我已经做的是连接到数据库,并打印数据。这样做是这样的:
<?php
//connect to the database
mysql_connect ("host","user","pasw") or die ('Cannot connect to MySQL: ' . mysql_error());
mysql_select_db ("database") or die ('Cannot connect to the database: ' . mysql_error());
//query
$query = mysql_query("select id, data from wp_ninja_forms_subs") or die ('Query is invalid: ' . mysql_error());
//write the results
while ($row = mysql_fetch_array($query)) {
echo $row['id'] . " " . $row['data'] . "
";
// close the loop
}
?>
问题是,我得到了结果,这并不适合我:
14 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:8:"John Doe";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:11:"+3706555213";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:9:"Company 1";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:1:{i:0;s:13:" Finansiniai ";}}} 15 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:10:"Bill Gates";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:11:"+5654412213";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:9:"Company 2";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:1:{i:0;s:13:" ?vaizd˛io ";}}} 16 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:7:"Person3";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:7:"6463213";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:9:"Company 3";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:2:{i:0;s:10:" HTML/CSS ";i:1;s:12:" Photoshop ";}}} 17 a:4:{i:0;a:2:{s:8:"field_id";i:2;s:10:"user_value";s:11:"Pretty Girl";}i:1;a:2:{s:8:"field_id";i:4;s:10:"user_value";s:9:"643122131";}i:2;a:2:{s:8:"field_id";i:12;s:10:"user_value";s:4:"Zara";}i:3;a:2:{s:8:"field_id";i:8;s:10:"user_value";a:1:{i:0;s:13:" ?vaizd˛io ";}}}
现在,我想看到的是一个表格:
2013.10.25 美少女 643122131 扎拉·伊瓦兹季奥2013.10.25 人3 6463213 公司 3 HTML/CSS , Photoshop2013.10.25 比尔·盖茨 +5654412213 2公司 伊瓦兹季奥2013.10.25 约翰·多伊 +3706555213 1 菲南西尼艾公司
有人可以告诉我,如何实现这一目标吗?我相信,我的数据输出是一个数组,还是我也错了?
如果是,也许有人可以给我一个例子,如何格式化该数组的一部分,以便我可以完成其余的工作?
甚至一些关于谷歌搜索什么的提示?
谢谢!
将 "'n"
用于换行符:)
您的个人值(a:4:{i:0....}
)已被"序列化"。这是一个由四个元素组成的数组,传递给serialize()
PHP函数。该函数返回它的文本表示(即它已经"序列化"了数组)。因此,您将整个数组作为简单文本保存在数据库的一个单元格中。
函数 unserialize()
执行相反的操作 - 转换"序列化"(文本)值并返回原始 PHP 对象(在本例中为数组)。
你几乎可以序列化任何PHP对象,只要它没有附加任何"资源"。但是已经有一个单独的问题:什么可能导致PHP序列化函数失败?只要你序列化数字、字符串和数组的数组,甚至是简单的对象,就没有什么可担心的。
您的第一个细胞(第 14 个)未丝化时:
array (
0 =>
array (
'field_id' => 2,
'user_value' => 'John Doe',
),
1 =>
array (
'field_id' => 4,
'user_value' => '+3706555213',
),
2 =>
array (
'field_id' => 12,
'user_value' => 'Company 1',
),
3 =>
array (
'field_id' => 8,
'user_value' =>
array (
0 => ' Finansiniai ',
),
),
)
(使用:http://www.functions-online.com/unserialize.html)通过 for 循环或其他方式运行这些内容以获得所需的渲染,这取决于您。