我遇到了自己定制的php函数的麻烦。
实际上我想将html代码与php处理分开,所以我决定将菜单放入数组中,而不是逐个显示每个元素。
所以这是我的数组:
function getAccess($var){
$data=mysql_fetch_array(mysql_query("SELECT * FROM `acces` WHERE `id`='.$var.'"));
return $data;
}
getAccess($_SESSION['id']);
$paramAcces = array(
'comptesfinanciers' => array(
'libelle' => 'COMPTES FINANCIERS',
'acces' => $data['comptesfinanciers'],
'lien' => 'financier',
'image' => 'images/finances.png'
),
'journaux' => array(
'libelle' => 'JOURNAUX',
'acces' => $data['journaux'],
'lien' => 'journaux',
'image' => 'images/newspaper.png'
)
);
/**
* AFFICHAGE DE LA SECTION PARAMETRES SUR LA PAGE D'ACCUEIL
*/
function affichParam($paramAccees){
foreach ($paramAcces as &$parametres) {
echo '<ul class="getcash-vmenu"><li><a href="index.php?p='.$parametres['lien'].'" class="active"><span class="t"><img src="'.$parametres['image'].'"> '.$parametres['libelle'].'</span></a></li></ul>';
}
}
麻烦的是,当我在主页index.php
中调用此函数时affichParam($paramAccees)
除了像那样的分号外,它不会显示任何内容;
非常感谢任何帮助或建议。
答案 0 :(得分:4)
此代码块中有拼写错误
function affichParam($paramAccees){
foreach ($paramAcces as &$parametres) {
echo '<ul class="getcash-vmenu"><li><a href="index.php?p='.$parametres['lien'].'" class="active"><span class="t"><img src="'.$parametres['image'].'"> '.$parametres['libelle'].'</span></a></li></ul>';
}
}
将第一行更改为:
function affichParam($paramAcces){
修改强>
还有@GBD评论的内容,正确调用affichParam($paramAcces)
。
答案 1 :(得分:2)
我认为您的代码必须满足所有这些先决条件: - SELECT语句的结果不为空 - 函数调用getAccess($ _ SESSION ['id'])的返回值存储在$ data中,如下所示:
$data = getAccess(...);
答案 2 :(得分:1)
你在$ paramAccess中犯了错误。试试这个:
function affichParam($paramAccess){
foreach ($paramAccess as $parametres) {
echo '<ul class="getcash-vmenu"><li><a href="index.php?p='.$parametres['lien'].'" class="active"><span class="t"><img src="'.$parametres['image'].'"> '.$parametres['libelle'].'</span></a></li></ul>';
}
}