看板 PHP 關於我們 聯絡資訊
*因為我只是業餘學習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
wayway2004:沒裝PHP吧 11/15 20:03
bibo9901:你把程式碼放在 print "..." 裡, 就被當成字串印出來了 11/15 20:03
wayway2004:oh~看錯了 是PHP包在PHP裡面 11/15 20:04
shihyanyu:可是我是整個FORM都用PRINT的..不知怎麼樣不把它放在opt 11/15 20:15
shihyanyu:不知怎麼樣才能不把它放在option裡 ?? 11/15 20:15
j094097:所以是三種可能嗎 11/15 20:24
arrack:print 又不是一定要一次全部都印出,可以分段... 11/16 09:48
shihyanyu:@@ 現在去試試FMDream大大教的方式 感謝各位大人的回應 11/16 16:20