0

自分でカスタマイズしたphp関数で問題が発生しました。

実際、私はhtmlコードをphp処理から分離したいので、各要素を1つずつ表示する代わりに、メニューを配列に配置することにしました。

これが私の配列です:

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) 

そのようなセミコロン以外は何も表示されません;

どんな種類の助けやアドバイスも大歓迎です。

4

3 に答える 3

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)正しく呼び出してください。

于 2012-11-20T08:34:14.970 に答える
2

コードは次のすべての前提条件を満たしている必要があると思います。-SELECTステートメントの結果は空ではありません-関数呼び出しgetAccess($ _ SESSION ['id'])の戻り値は次のように$dataに格納されます。

$data = getAccess(...);
  • affichParam()で参照&$parametersを使用するのはなぜですか。単に使用します:foreach($ paramAccess as $ parameters)
于 2012-11-20T08:47:25.693 に答える
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>';
}
}
于 2012-11-20T08:38:11.837 に答える