2017-03-09 20 views
1

私は結果を出さずにこれをやってみました。私は5つのphp変数、$menu1$menu5をキーワードとして評価しています。私はjavascriptでこの5つのphp変数を設定して表示しようとしています。以下のコードは動作しません。 PHP変数を処理する上で、何が問題になっていますか?このような動的変数を使用してphp変数を解析する方法は?

var menu_populator = ""; 
for (var x = 1; x <= count; x++) { 
    menu_populator += '<li><a class="myclass" href="#link">' + '<?php echo $menu' + x + '?>' + '</a></li>'; 
} 
$('#nav_menu').html(menu_populator); 
+0

このコードブロックはどこにありますか? PHPはjsファイルで実行されないため、 –

+0

はPHPファイル内のスクリプトタグ内にあります。 – schenker

+0

私はあなたがこの仕事をすることができるいくつかの異なる方法を考えることができます。ちょうど興味があるのは、 'count'が定義されていた.... – NewToJS

答えて

1

を行うだろう。 1つはセット$menuの変数ですが、データベースからデータを取得している場合や、ループ内で変数$menuが作成されている場合は、2番目の方法が優れています。

方法ワンjavascript配列にPasteBin

エコーPHPの変数。

var myarray=["<?php echo $menu1;?>","<?php echo $menu2;?>","<?php echo $menu3;?>","<?php echo $menu4;?>","<?php echo $menu5;?>"]; 

方法の二PasteBin

あなたはあなただけarray_push()にを使用することができますこれで、ループ内で現在$menu変数を作成している場合、これは良くなる、この配列のサーバー側を作成します。値を配列にプッシュします。

<?php 
// PHP Array 
$menu = array('Home', 'Gallery', 'About'); 
// How to push new item into array 
array_push($menu, 'Contact'); 
?> 

この配列をJavaScriptのmyarray変数にエコーするだけです。

var myarray=<?php echo json_encode($menu);?>; 

私は両方のメソッドをテストするには、次のJavaScriptを使用していたとの両方がうまく機能しているようです。私は第2の方法を好むが、私はあなたのPHPがどのように見えるか、あるいはあなたの$menu変数がどのように定義されているか分からないので、両方を提供することに決めた。

window.onload=function(){ 
for(var i=0; i<myarray.length; i++){ 
    var link= document.createElement('a'); 
    link.href="#"; 
    link.innerHTML=myarray[i]; 
    document.body.appendChild(link); 
    document.body.appendChild(document.createElement('br')); 
} 
} 

上記のソースコードについてご質問がある場合は、下にコメントを残してください。できるだけ早くお返事させていただきます。

このヘルプが欲しいです。ハッピーコーディング!

+0

方法1は有望に見えます、それが動作するかどうか見せてください。助けてくれてありがとう。 – schenker

+1

@schenker大歓迎です。これに何か問題がある場合は、私に知らせてください。私はさらに助けが得られるかどうかわかります。 – NewToJS

0

何かは、メニューデータサーバ側は、あなたが以下の両方の方法を試すことができます取得しているかに応じて、トリック

<?php 
$menu = "menu"; 
echo ' 

<script> 
    var count = 10; 
    var menu_populator=""; 
    for(var x=1;x<=count;x++) 
    { 
     menu_populator += \'<li><a class="myclass" href="#link">'.$menu.' \'+x+\'</a></li>\'; 
    } 
    $(\'#nav_menu\').html(menu_populator); 
</script> 

'; 
?> 
関連する問題