我目前正在开展一个项目,目前我的目标是在最终结帐表单输入上打印有关特定用户的信息。
首先,我通过公共功能收集特定用户的信息:
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" ="街"
答案 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'];
我基本上在寻找另一种不需要这么多重复的解决方案。