Re: [請益] 用迴圈跑出報名表
幫你把 Code 整理一下吧...
順便把一些壞習慣改掉
※ 引述《youngwei (mooncolor)》之銘言:
: 用迴圈跑出報名表,報名表數量根據資料庫裡同一個人有2筆資料就跑出2個
: 顯示出來後有2個報明表,但填完第一個報名表後要填第二個報名表時,
: 第一個報名表填完的資料就消失,想請問各位問題出在哪裡?
: 以下是我的編碼
<?php
//sql injection
$str="select paperid,papername,paperman from paperinf where id='".((int)$id)."'";
$row=mysql_query($str,$link);
$result=mysql_num_rows($row);
?>
<form action="appli_ok.php" method="post" id="form1">
<p align="center" style="font-size:20px" colspan="2" class="payw1">報名表</p>
<?php for ($i=0;$i<$result;$i++):?>
<?php $po = mysql_fetch_assoc($row)?>
<table border="0" align="center" class="payw1">
<tr>
<td width="300">編號: <?=$po['paperid']?></td>
</tr>
<tr>
<td>名稱: <?=$po['papername']?></td>
</tr>
<tr>
<td>出席者:
<input type="text" name="paperman" height="20"
value="<?=$po['paperman']?>">
</td>
</tr>
<tr>
<td>用餐情況:
<input type="radio" name="food" value="葷" checked="checked">葷
<input type="radio" name="food" value="素">素
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input name="" type="submit" value="報名"></td>
</tr>
</table>
<?php endforeach?>
</form>
後面實在看不懂要怎麼改了,沒有結尾</tr>, 這就請原 po 自己解釋吧。
html 結構錯誤...
================== 我是分隔線 ================
雖然 PHP 本身就是個樣本引擎,但請盡量不要將 HTML 與程式混雜。
如果非不得已,必須這麼做時,請盡量使用 PHP 的樣板語法,這樣會讓你的 HTML 結構
更清楚。
1. 請不要使用 short open tag。 這會跟 <?xml ?> 打架。
請乖乖的使用 <?php // your code ?>
2. <?php echo $var;?> -> <?=$var?> 在 php 5.4 以後, echo 的 short tag
都是打開的狀態,無法關閉。也就是說官方鼓勵大家盡量使用 <?=$var?> 這樣的格式
3. 少用 <?php if(xxx){?>...<?php }?> 這類大括號的語法
請使用
<?php if(xxx):?>
html
<?php else:?>
html
<?php endif?>
<?php for(xxx):?>
html
<?php endfor?>
<?php while():?>
html
<?php endwhile?>
4. 在 php 中結尾的;如果接著 close tag 分號可以省略
<?php $foo = "test";?> -> <?php $foo = "123" ?>
5. 請保持縮排,html 是有巢狀結構的。
掌握這幾個原則,至少讓人可以很清楚的一眼望去就可以了解哪些是 html 哪些是 PHP。
PS: html 跟 PHP 混雜真的是個很糟糕的寫法(大家戲稱這種寫法叫義大利麵)。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.136.115
推
08/16 10:09, , 1F
08/16 10:09, 1F
→
08/16 10:59, , 2F
08/16 10:59, 2F
推
08/16 11:58, , 3F
08/16 11:58, 3F
推
08/16 15:38, , 4F
08/16 15:38, 4F
討論串 (同標題文章)
PHP 近期熱門文章
PTT數位生活區 即時熱門文章