iT邦幫忙

0

<? { ?> <?php }?>

php


純真的人 iT邦研究生 5 級 ‧ 2017-11-14 16:53:39 檢舉
就if else 的概念~顯示A或顯示B
他只是把前端語法跟後端語法~混合使用...
大大我還是不大懂 抱歉= =''
所以是先執行WHILE裡面那段 再去判斷其他嗎 (抱歉圖片有點小
小魚 iT邦新手 2 級 ‧ 2017-11-15 00:43:22 檢舉
<? 跟 ?>
裡面的是PHP的語法,
外面的是Html語法。

2 個回答

0
海綿寶寶
iT邦超人 1 級 ‧ 2017-11-14 17:03:21

我把程式碼調整縮排
希望比較好看
先看第3列到第9列即可
目的是
組出一個 a href 的 HTML
加上判斷
如果 albumNum=0, 就顯示沒有圖片
否則 就顯示圖片(url)和替代文字(title)
由於第4,6,8列是 php 語法(不是 HTML)
所以前後要以 「包」起來

<div class="albumDiv">
<div class="picDiv">
      <a href="albumshow.php?id=<?php echo $row_RecAlbum["album_id"];?>">
      <?php if($row_RecAlbum["albumNum"]==0){?>
         <img src="images/nopic.png" alt="暫無圖片" width="120" height="120" border="0" />
      <?php }else{?>
         <img src="photos/<?php echo $row_RecAlbum["ap_picurl"];?>" alt="<?php echo $row_RecAlbum["album_title"];?>" width="120" height="120" border="0" />
      <?php }?>
      </a>
   </div>
   <div class="albuminfo">
      <a href="albumshow.php?id=<?php echo $row_RecAlbum["album_id"];?>"><?php echo $row_RecAlbum["album_title"];?></a>
      <br />
      <span class="smalltext">共 <?php echo $row_RecAlbum["albumNum"];?> 張</span>
      <br>
      <br>
   </div>
</div>
<?php }?>

感謝海綿哥~~ 我再研究看看~~

0
Samと可樂快跑
iT邦研究生 3 級 ‧ 2017-11-14 22:29:22

建議不要用這種方式來做。
你會很容易搞不清楚括號的區間
正確的範例如下:

<?php if(條件式):?>
    條件成立的HTML區段
<?php endif?>

如果是if…else的話…

<?php if(條件式):?>
    條件成立的HTML區段
<?php else:?>
    條件不成立的HTML區段
<?php endif?>    

其他對應的還有:
foreach...endforeach
for...endfor
while...endwhile

看更多先前的回應...收起先前的回應...

ㄟㄟㄟ!我只是要補充在海綿寶寶的回應怎麼變成回答了?
IT邦的回應和回答有點………
不!也許其實是我太累了。

小魚 iT邦新手 2 級 ‧ 2017-11-15 00:41:13 檢舉

早點休息吧

謝謝大大~~

大大所以會 這樣的用法是因為 HTML 語法語PHP語法搭配可能會出現問題 所以才必須要一致性的 整個都變成PHP (把HTML包進去PHP) 語法才行嗎?

沒!純粹這樣的寫法比較遵從像是樣板特性。
當中的html在許多的ide仍會被視為純html。
然後又不用擔心搞不清楚括號區間的問題。

感謝~

yoching iT邦新手 5 級 ‧ 2017-11-19 15:57:49 檢舉

這是一種為了搭配view架構的寫法。
比較不容易在判讀程式碼出錯。

再加上編輯器上,對於單一的{}也不好做規格化。
php才會出現這樣的寫法。可方便view使用的人員好處理。
一方面也比較容易在一些編輯器上好判讀使用的方式。

當然這不是硬性要求,看個人方便。(雖然我早就已經轉成mvc架構的設計了)

我要發表回答

立即登入回答