2011-09-21 55 views
-3

我已經設置了一個帶有幾個繪製標記的Google地圖,每個點擊時都有一個帶有信息的小彈出窗口。迭代遍歷foreach循環 - 只顯示1個項目而不是全部

我用下面的代碼來顯示每個繪製標記的公司名稱,但它會通過foreach循環,並顯示ALL公司名稱一個彈出式內。

如何循環顯示每個繪圖標記的公司名稱?我需要它顯示第一個標記列表中的第一個公司,第二個標記列表中的第二個公司,等等。

// 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

羅布if聲明想要什麼,你編輯代碼回到惡化,關閉PHP標籤的裏面的foreach錯誤仍然存​​在! – markus

回答

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,他們必須有唯一的標識符,因此您可以創建一個每個公司。但要說更多的話,我需要更多地瞭解你想要做什麼。哪些信息可用,哪些來源。

+2

這是一條評論,不是答案。 – zzzzBov

+0

是的,但你已經刪除了使線路功能的代碼!它在一行中,因爲Javascript標籤中有PHP。 – Rob

+1

@Rob,只是因爲PHP的輸出需要在一行上,並不意味着PHP本身需要在一行上。 – zzzzBov

1

您展示基於內部foreach

+0

請您詳細說明一下嗎? – Rob

+0

我不確定'$ post','$ pages'和'$ fields'變量是什麼。我的意思是檢查當前在'foreach'循環中檢查的項目是否是您想要顯示的項目。另外,markus是正確的,你的php代碼有錯誤,請在'foreach'中檢查你的括號 – maialithar