尝试在多维数组中打印值以形成预设值

时间:2018-05-09 12:05:30

标签: php mysql templates controller

我目前正在开展一个项目,目前我的目标是在最终结帐表单输入上打印有关特定用户的信息。

首先,我通过公共功能收集特定用户的信息:

public function getUserAddress($dbh)
{
    $sql = "SELECT street, zip, city FROM address WHERE user_id=:user";
    $stmt = $dbh->prepare($sql);
    $stmt->bindParam(':user', $this->uid);
    $stmt->execute();
    $userAddress = $stmt->fetchAll(PDO::FETCH_ASSOC);
    $this->userAddress = $userAddress;
    return $this->userAddress;
}

然后我将信息存储在一个名为$ userAddress

的变量中
$userAddress = $user->getUserAddress($dbh);

由于用户有两个地址,都有一个" Street"," City" &安培; "邮编及#34;我将这两个数组存储在$ templateData中。这样我就可以指定在哪个输入标签中打印出哪个索引,而不必为每个插槽创建一个新函数。

$templateData['user']['address'] = $userAdress['street']." ".$userAddress['city']." ".$userAddress['zip'];

然而,打印这些似乎几乎是不可能的。当我var_dump     $ templateData ['用户'] ['地址'] 我似乎只得到2个空字符串而没有别的。

这只是我的Checkout.controller中的代码,但不知何故,我的模板页面中似乎找不到这些信息。所有路线和包括都是正确的,所以dw约。

我对这一切都很陌生,所以我很感激我能得到的任何帮助!

应如何呈现信息的图像https://gyazo.com/40fa06832207bd785ee038af4962bb1e

所以在这种情况下:" Postort" ="城市" &安培; " Gatuadress" ="街"

2 个答案:

答案 0 :(得分:0)

PDO::fetchAll(PDO::FETCH_ASSOC)将返回一组关联数组;所以要访问您需要的各个元素,如:

 $userAdress[0]['street']." ".$userAddress[0]['city']." ".$userAddress[0]['zip']

答案 1 :(得分:0)

我可以专门定义它们中的每一个,尽管看起来很遥远。像这样:

 $templateData['user']['address'][0]['street'] = $userAddress[0]['street'];
 $templateData['user']['address'][0]['city'] = $userAddress[0]['city'];
 $templateData['user']['address'][0]['zip'] = $userAddress[0]['zip'];

 $templateData['user']['address'][1]['street'] = $userAddress[1]['street'];
 $templateData['user']['address'][1]['city'] = $userAddress[1]['city'];
 $templateData['user']['address'][1]['zip'] = $userAddress[1]['zip'];

我基本上在寻找另一种不需要这么多重复的解决方案。