作者shihyanyu (樂施者所求如意)
看板PHP
標題[請益] selected沒有作用?
時間Thu Nov 15 19:58:15 2012
*因為我只是業餘學習PHP當作興趣 很多用語不專業 請各位大大見諒*
這幾天在學習如何一次更新多筆資料
參考以下網頁寫出一個表單
http://www.theblog.ca/update-multiple-rows-mysql
遇到一個難題是更新以後 之前選起來存到資料庫的選單值
不能正確的print為SELECTED...
關鍵程式碼如下:
<?php // open a form
print "<form name='namestoupdate' method='post' action='update1.php'>\n";
while ($books = mysql_fetch_array($result)) { 中略...
print "<td width='80px' align='center' valign='top'>
<select name='yos_deal[$i]' id='yos_deal[$i]'>
<option value='未處理'
<?php if(!(strcmp('未處理',{$books['yos_deal']})))
{echo 'selected='selected'';}?>>未處理</option>
<option value='有庫存'
<?php if(!(strcmp('有庫存',{$books['yos_deal']})))
{echo 'selected='selected'';}?>>有庫存</option>
<option value='追加中'
<?php if(!(strcmp('追加中',{$books['yos_deal']})))
{echo 'selected='selected'';}?>>追加中</option>
</select></td>\n";
}
因為程式碼是包在
while裡面的
print裡面的關係
其中
亮黃色的那一段瀏覽器都讀不懂
讀出來的網頁原始碼變成:
<option value='未處理'
<?php if(!(strcmp('未處理',有庫存)))
{echo 'selected='selected'';}?>>未處理</option>
<option value='有庫存'
<?php if(!(strcmp('有庫存',有庫存)))
{echo 'selected='selected'';}?>>有庫存</option>
<option value='追加中'
<?php if(!(strcmp('追加中',有庫存)))
{echo 'selected='selected'';}?>>追加中</option>
因此不管我的值改成有庫存或追加中,都不能正常顯示已選取並存入資料庫的值
譬如我資料庫的值是'有庫存' 不是應該要變成下面這樣才對嗎:
<option value='有庫存' selected>有庫存</option>
我試了很久 不管是移除<?php ?>還是其他做法都不能讓它運作
希望有好心的大大幫我解惑!!謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.171.10.62
1F:推 wayway2004:沒裝PHP吧 11/15 20:03
2F:→ bibo9901:你把程式碼放在 print "..." 裡, 就被當成字串印出來了 11/15 20:03
3F:→ wayway2004:oh~看錯了 是PHP包在PHP裡面 11/15 20:04
4F:→ shihyanyu:可是我是整個FORM都用PRINT的..不知怎麼樣不把它放在opt 11/15 20:15
5F:→ shihyanyu:不知怎麼樣才能不把它放在option裡 ?? 11/15 20:15
6F:→ j094097:所以是三種可能嗎 11/15 20:24
7F:推 arrack:print 又不是一定要一次全部都印出,可以分段... 11/16 09:48
8F:→ shihyanyu:@@ 現在去試試FMDream大大教的方式 感謝各位大人的回應 11/16 16:20