我刚开始使用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 Pretty Girl 643122131 Zara Įvaizdžio 2013.10.25 Person3 6463213 Company 3 HTML/CSS , Photoshop 2013.10.25 Bill Gates +5654412213 Company 2 Įvaizdžio 2013.10.25 John Doe +3706555213 Company 1 Finansiniai
有人能告诉我,如何实现这一目标? 我相信,我的数据输出是一个数组,或者我也错了?
如果是的话,也许有人可以给我一个例子来说明如何格式化该数组的一部分,那么我可以做其余的事情吗?
甚至还有一些提示谷歌的用途?
谢谢!
答案 0 :(得分:0)
将"\n"
用于换行符:)
您的个人值(a:4:{i:0....}
)已被“序列化”。这是一个由四个元素组成的数组,它们被传递给serialize()
PHP函数。该函数返回了它的文本表示(即它已“序列化”了数组)。因此,您将整个数组保存在数据库中的一个单元格中作为简单文本。
函数unserialize()
执行相反的操作 - 转换“序列化”(文本)值并返回原始PHP对象(在本例中为数组)。
您可以序列化几乎所有PHP对象,只要它没有附加任何“资源”。但是已经有一个单独的问题:What could cause a failure in PHP serialize function? 只要您序列化数字,字符串和数组以及简单对象的数组,就没有什么可担心的了。
未经证实的第一个细胞(第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循环或其他方式运行这些以获得所需的渲染,这取决于您。