[請益] selected沒有作用?

看板PHP作者 (樂施者所求如意)時間13年前 (2012/11/15 19:58), 編輯推噓2(206)
留言8則, 5人參與, 最新討論串1/2 (看更多)
*因為我只是業餘學習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

11/15 20:03, , 1F
沒裝PHP吧
11/15 20:03, 1F

11/15 20:03, , 2F
你把程式碼放在 print "..." 裡, 就被當成字串印出來了
11/15 20:03, 2F

11/15 20:04, , 3F
oh~看錯了 是PHP包在PHP裡面
11/15 20:04, 3F

11/15 20:15, , 4F
可是我是整個FORM都用PRINT的..不知怎麼樣不把它放在opt
11/15 20:15, 4F

11/15 20:15, , 5F
不知怎麼樣才能不把它放在option裡 ??
11/15 20:15, 5F

11/15 20:24, , 6F
所以是三種可能嗎
11/15 20:24, 6F

11/16 09:48, , 7F
print 又不是一定要一次全部都印出,可以分段...
11/16 09:48, 7F

11/16 16:20, , 8F
@@ 現在去試試FMDream大大教的方式 感謝各位大人的回應
11/16 16:20, 8F
文章代碼(AID): #1GfDZPXk (PHP)
文章代碼(AID): #1GfDZPXk (PHP)