2011-09-21 7 views
-3

私はいくつかのプロットされたマーカーを持つGoogleマップをセットアップしました。foreachループを反復する - すべてではなく1つのアイテムだけを表示する

私はプロットされたマーカーごとに会社名を表示するのに、foreachループを通り、ALLを1つのポップアップ内に表示しています。

どのようにプロットされたマーカーごとに1つの会社名をループスルーして表示できますか?私は最初のマーカのリストに最初の会社を、2番目のマーカのリストに2番目の会社を表示する必要があります。

// Setting the content of the InfoWindow 
infowindow.setContent(' 
     <?php $pages = get_pages(array('child_of' => $post->ID, 'sort_column' => 'menu_order')); foreach($pages as $post) { 
     setup_postdata($post); 
     $fields = get_fields(); ?> 

     <p><?php echo $fields->company_name; ?></p> 

     <?php } wp_reset_query(); ?> 
'); 
+0

ロブに基づいて、あなたが戻って悪いことに、あなたのコードを編集し、foreachの内部のPHP終了タグの間違いがまだそこにあります! – markus

答えて

1

あなたのコードを見てください。どのような混乱!あなたがコードをうまく構築することを心配するなら、あなたは決してこれらの明白な間違いを逃したことはありません!すべてのコードを1行に書き込まないでください!コードスタイルにベストプラクティスを使用してください!

すべてのPHPコードをjavascript関数の中に入れないでください。 代わりに、変数$contentMarkupを使用し、そこにすべてを格納し、最後にこの変数をjavascriptコードにエコーします。あなたの実際の質問について

<?php 
    $contentMarkup = ''; 
    //do all your stuff like 
    $contentMarkup .= '<p>'; 
    $contentMarkup .= $fields->companyName; 
    $contentMarkup .= '</p>'; 
?> 

infowindow.setContent('<?php echo $contentMarkup; ?>'); 

:あなたは複数のツールチップ/ウィンドウ/ younameitを生成する場合、彼らはあなたが各企業のための1つを作成できるように一意の識別子を持っている必要があります。しかし、もっと言えば、あなたがやろうとしていることについてもっと知る必要があります。利用可能な情報と入手元は何か。

+2

これはコメントではありません。 – zzzzBov

+0

はい、回線機能を実現するコードを削除しました。 Javascriptタグ内にPHPがあるため、1行に収められています。 – Rob

+1

@Rob、PHPの出力が1行になければならないという理由だけで、PHP自体が1行になる必要はありません。 – zzzzBov

1

はあなたが望むものを示してforeachループ内if声明

+0

あなたは詳しく教えていただけますか? – Rob

+0

'$ post'、' $ pages'、 '$ fields'変数は何か分かりません。私が意図したことは、現在 'foreach'ループでチェックされている項目があなたが表示したい項目であるかどうかを調べることでした。さらに、markusは正しいです、あなたのPHPコードに間違いがあります、あなたの角括弧を 'foreach'でチェックしてください – maialithar

関連する問題