【发布时间】:2018-12-05 08:15:38
【问题描述】:
我有一个页面显示来自具有未序列化数据的数据库的数据。未序列化的数据如下所示:
array (
'text-name' => 'test',
'email' => 'test@gmail.com',
'text-company' => 'test',
'tel-number' => '978456132',
'products' =>
array (
0 => 'Domains',
1 => 'Weebly',
),
'menu-country' => 'Austria',
'number' => '1001 - 10,000',
'text-current-registrar' => '5',
'notes' => 'test',
'text-current-url' => 'https://www.foo.com/boo-foo/',
'text-previous-url' => 'https://www.foo.com/boo-foo/',
'text-utm_source' => '',
'text-utm_medium' => '',
'text-utm_campaign' => '',
'gdpr-b' =>
array (
0 => 'I',
),
'gdpr-c' =>
array (
0 => 'I',
),
'gdpr-d' => NULL,
'gdpr-e' => NULL,
)
数据库中的数据格式如下:'a:18:{s:9:"text-name";s:4:"test";s:5:"email";s:14:"test@gmail.com";s:12:"text-company";s:4:"test";s:10:"tel-number";s:9:"978456132";s:8:"products";a:2:{i:0;s:7:"Domains";i:1;s:6:"Weebly";}s:12:"menu-country";s:7:"Austria";s:6:"number";s:13:"1001 - 10,000";s:22:"text-current-registrar";s:1:"5";s:5:"notes";s:4:"test";s:16:"text-current-url";s:59:"https://www.bla.com/foo-bar/";s:17:"text-previous-url";s:59:"https://www.bla.com/foo-bar/";s:15:"text-utm_source";s:0:"";s:15:"text-utm_medium";s:0:"";s:17:"text-utm_campaign";s:0:"";s:6:"gdpr-b";a:1:{i:0;s:1:"I";}s:6:"gdpr-c";a:1:{i:0;s:1:"I";}s:6:"gdpr-d";N;s:6:"gdpr-e";N;}'
要显示的php代码如下:
<?php
$no = 1;
while ($row = mysqli_fetch_array($query))
{
echo '<tr>';
echo '<td>'.$no.'</td>';
echo '<td>'.$row['form'].'</td>';
$formdata = unserialize($row['data']);
foreach ($formdata as $key => $fdata)
{
if( sizeof($fdata) !=1 )
{
if (is_array($fdata)) {
$fsofdata = array_map('unserialize', $fdata);
foreach ($fsofdata as $prod => $prodvalue)
{
if ( ($prod === 'gdpr-b') || ($prod === 'gdpr-c') || ($prod === 'gdpr-d') || ($prod === 'gdpr-d') ) {
foreach ($prodvalue as $pprod => $pprodvalue)
{
echo '<td>'.$pprod.''.($pprodvalue).'</td>';
}
}
else {
echo '<td>'.($prodvalue).'</td>';
}
}
}
else {
echo '<td>'.($fdata).'<td/>';
}
}
else {
echo '<td>'.($fdata).'<td/>';
}
}
echo '<td>'.$row['date']. '</td>';
echo '</tr>';
$no++;
}
?>
这里的问题是产品数组中存在的数据和 gdpr-b、gdpr-c 变量显示为数组,我在数据上尝试了 array_map,但这也无助于我如何在表格中的数组。
【问题讨论】:
-
能否打印产品数组并发送到这里
-
当我在屏幕上打印数组时它的'Array'
-
那么你最好在那里使用foreach
-
表关系有问题或者你的逻辑先发现问题
-
我完全从不同的插件存储这些数据。所以我无法控制数据库值
标签: php html arrays multidimensional-array html-table