2015-11-27 45 views
0

這可能是一個愚蠢的問題,所以請接受我的道歉。如何在回聲後插入foreach?

我寫了一個代碼片段,用於列出餐館的wordpress網站。您輸入場地的instagram ID(如果有的話),並顯示他們上傳的最新instagram照片。如果instagram id值留空,我希望它不迴應任何內容。我已經編寫了代碼,並且它適用於帶有instagram id的地方,但由於我無法在echo部分中找到最後一段代碼(以foreach開頭),所以即使id爲空也會嘗試顯示它我得到了一個「爲foreach()提供的無效參數」錯誤。你能幫我一把,這樣我就可以將這段代碼包含在echo部分中,這樣當id爲空時它就不會調用那段代碼了嗎?首先十分感謝。

<?php 
if ($instagramid) { 
echo " 


<br><br> 
<span style=\"float:left; -webkit-border-radius: 3px; 
border-radius: 3px; 
font-size: 14px; 
float: left; 
line-height: 32px; 
margin-right: 5px; 
margin-top:12px; 
padding: 0px 3px 0px 5px; 
\"> 
<a target=\"_blank\" href=\"http://instagram.com/".$username."\"><img width=\"80\" border=\"1px\" src=\"".$profilepic."\"></a></span> 
<br> 
<div style=\"margin-left: 50px;\"> 
    <div style=\"position: relative; 
    float: left; 
    left: 0.00%; 
    width: 75.00%; 
    background-color: #f4f4f4\"> 
     <span style=\" 
font-weight: bold; 
font-style: normal; 
font-size: 12px; letter-spacing: 0px; padding: 0px 0px 0px 0px; \"><a style=\"color: #3f729b; font-weight: bold; \" target=\"_blank\" href=\"http://instagram.com/".$username."\">".$username."</a> @ instagram</span> 
    </div> 
    <div style=\"position: relative; 
    float: left; 
    left: 0.00%; 
    width: 82.00%;\"> 
     <div style=\"position: relative; 
    float: left; 
    left: 0.50%; 
    width: 33.00%;\"> 
      <span style=\" 
font-weight: lighter; 
font-style: normal; 
font-size: 11px; letter-spacing: 0px; padding: 0px 0px 0px 0px; \">Photos<br> 
<span style=\" 
font-weight: bold; \"><span style=\" 
letter-spacing: 0px;\">".$sayi."</span></span></span> 
     </div> 
     <div style=\"position: relative; 
    float: left; 
    left: 1.50%; 
    width: 33.00%;\"> 
      <span style=\" 
font-weight: lighter; 
font-style: normal; 
font-size: 11px; letter-spacing: 0px; padding: 0px 0px 0px 0px; \">Followers<br> 
<span style=\" 
font-weight: bold;\"><span style=\" 
letter-spacing: 0px;\">".$takipci."</span></span></b></span> 
     </div> 
     <div style=\"position: relative; 
    float: right; 
    right: 0.50%; 
    width: 31.00%;\"> 
      <span style=\" 
font-weight: lighter; 
font-style: normal; 
font-size: 11px; letter-spacing: 0px; padding: 0px 0px 0px 0px; \">Following<br><span style=\" 
font-weight: bold;\"><span style=\" 
letter-spacing: 0px;\">".$takipediyor."</span></span></span> 
     </div> 
    </div> 
    </div> 
    <br><br> 


     "; 
} 
else { 
echo ""; 
} 
?> 



<?php foreach ($result->data as $fotos): ?> 


     <!-- Renders images. @Options (thumbnail,low_resoulution, high_resolution) --> 
     <span style="font-size: 12px; float:left; 
margin:5px 0 2px 10px;"> 
<a target="_blank" class="group" rel="group1" href="<?= $fotos->link ?>"> 
<img width="90" src="<?= $fotos->images->thumbnail->url ?>"></a> 
<span style="font-weight:bold; float:left;"></span> 
<span style="float:right;"><span style="color:red; font-weight: bolder;">❤ </span><?= $fotos->likes->count ?></span> 
    </span><?php endforeach //Biter ?> 
+2

爲什麼您如果塊不使用循環? – flowit

+1

爲什麼您將所有HTML打印爲字符串?您可以關閉PHP標籤('?>'),並在PHP繼續時重新打開它。 – Ivar

+1

更好的有CSS類處理所有這些樣式,而不是風格屬性中的一堆信息,只是一個想法。 – Clyff

回答

0

也許就像有人說的,你需要把你的循環中,如果statment這樣

<?php 
if ($instagramid) { 

// Your old code is here "your echo" 
// but before end of if statment, and after echo"" put loop 

foreach ($result->data as $fotos){ ?> 
    <!-- Renders images. @Options (thumbnail,low_resoulution, high_resolution) --> 
    <span style="font-size: 12px; float:left; margin:5px 0 2px 10px;"> 
    <a target="_blank" class="group" rel="group1" href="<?= $fotos->link ?>"> 
    <img width="90" src="<?= $fotos->images->thumbnail->url ?>"></a> 
    <span style="font-weight:bold; float:left;"></span> 
    <span style="float:right;"><span style="color:red; font-weight:bolder;">❤ </span><?= $fotos->likes->count ?></span> 
    </span><?php } //Biter ?> 
} 
else { 
    echo ""; 
} 
?> 
+2

如果你使用'switch進出'PHP模式,這是一件很好的事情,那麼值得使用[PHP:Alternative控制結構語法 - 手冊](http://php.net/manual/en/control-structures.alternative-syntax.php)。它更具可讀性。並給程序員提供線索,說明你正在'混合和匹配'PHP模式和文本輸出。再次,這是一件好事。 –

+0

是的,我會推薦使用<?php echo $ variable; ?>或<?= $ variable; ?>如果你的服務器在你的大量echo語句中支持它。在需要時進行管理和調試會更容易。如果你喜歡,歡迎舉一個例子。 –

+0

也沒有需要上述聲明的其他部分,因爲它什麼都不做:) –