作者mrbigmouth (拒绝崩溃的蒲公英)
看板PHP
标题Re: [请益] 如何读取php内物件的名称?
时间Sat Jun 18 16:25:59 2011
※ 引述《gname ((′口‵)↗︴<><...<><)》之铭言:
: ※ 引述《liaosankai (低温烘焙)》之铭言:
: : 用序号来产生当做input的name,像是username1、username2…倒也不算是不行。
: : 只不过这样的作法有点不太漂亮,应该要善用阵列方式的name,下列我就贴个范例
: : [a.html][b.php]的程式码部分。
: : ====================================
: : [a.html] ※当然这些HTML你也可以用PHP去产生
: 推 kusoayan:推 06/18 12:12
: 推 mrbigmouth:坦白说 我觉得这只是习惯问题而已 谈不上比较漂亮啦... 06/18 12:41
: → mrbigmouth:如果要做的是"从资料库中读取一堆多选题"... 06/18 12:42
: → mrbigmouth:终究还是要在input的name上做功夫的 06/18 12:43
: → mrbigmouth:那还不如一开始就习惯改input name 06/18 12:44
: 推 mrbigmouth:不过现在这题好像用阵列比较好= = 都是checkbox... 06/18 13:14
: → mrbigmouth:刚刚才发现...这样中间没选後面就全读不到了XDDrz 06/18 13:15
: 推 a3343554:对= = 06/18 13:16
: 推 appleboy46:中间如果没有选 checkbox 会有问题 06/18 13:38
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 这问题最近有碰到过,提供一下我的鸟方法好了...囧
: 在onsubmit时做 checkbox 的勾选判断,如果没有被勾到的,
: 则把预设值改成空(value="")或是随便一个你设定的值...
: 接着再把它打勾即可...
: post到php後,再做空值判断或是设定值判断,这样就可以少掉很多手续了...
: ----
: 虽然鸟鸟的, 不过还可以用就是了....= ="
既然收了钱(P币?)就该做到完...
把两种解法综合一下就行了...
name改阵列,输出时不改name而改用value为辨识...
产生表单
$result=mysql_query('SELECT * FROM `member_table` ORDER BY `NO` DESC');
$i=0;
while($row = mysql_fetch_array($result))
{
echo '<br />',$row['password'],'
<br />',$row['pic'];
echo '<br />',$row['NO'],'
<br />',$row['name'],'<input type="checkbox" name="che[]" value="',$i,'" />
<br />',$row['count'],'<input type="textbox" name="teb[]" value="',$i,'" />';
++$i;
}
接收页面范例
<?php
$che=0;
if (is_array($_POST['che']))
foreach ($_POST['che'] as $key=>$val){
echo '第',intval($val)+1,'个che被勾选了,目前che的被勾选总数为',++$chi,'<br />';
}
$teb=0;
if (is_array($_POST['teb']))
foreach ($_POST['teb'] as $key=>$val){
echo '第',intval($val)+1,'个teb被勾选了,目前teb的被勾选总数为',++$teb,'<br />';
}
//检查第3个teb有无被勾选
$checktype='teb',$no=3;
if (in_array($no-1,$_POST[$checktype]))
echo '第',$no,'个',$checktype,'有被勾选!';
else
echo '第',$no,'个',$checktype,'没被勾选!';
?>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 118.170.215.32
※ 编辑: mrbigmouth 来自: 118.170.215.32 (06/18 16:28)
※ 编辑: mrbigmouth 来自: 118.170.215.32 (06/18 16:29)
※ 编辑: mrbigmouth 来自: 118.170.215.32 (06/18 16:33)