作者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