2

我刚刚开始使用 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 Zara Įvaizdžio
2013.10.25 Person3 6463213 公司 3 HTML/CSS , Photoshop
2013.10.25 比尔·盖茨 +5654412213 公司 2 Įvaizdžio
2013.10.25 John Doe +3706555213 Company 1 Finansiniai

有人可以告诉我,如何实现这一目标?我相信,我的数据输出是一个数组,还是我错了?

如果是的话,也许有人可以给我一个如何格式化该数组的一部分的例子,所以我可以做剩下的?

甚至一些关于谷歌搜索的提示?

谢谢!

4

1 回答 1

0

用于"\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 循环或其他方式运行这些以获得所需的渲染,这取决于您。

于 2013-10-24T23:54:53.677 回答