记录定位问题
我从数据库中搜寻了符合条件的记录出来,用的是如下方法:
<form method="get" action="save.php">
<?php
while($arry=mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>".$arry["mf02"]."</td>";
if ($arry["mf03"]==1)
{
echo "<input type=checkbox name=mf03 value=1 checked>Y";
} else
{
echo "<input type=checkbox name=mf03 value=".$arry["mf03"]." >Y";
}
echo "</td>";
echo "<td><input type='submit' value='save' name='save".$arry["id"]."'></td>";
echo "</tr>";
}
</form>
在一个页面显示许多记录出来,现在的问题是,我改变了checkbox的值后,传输到save.php页时发现所有的记录值都传输过去了,并且变量名都是列子中的mf03(我是通过GET方式在save.php页中的地址栏中发现的。)。但我想实现的是一条记录的改变。
请教大虾们有什么好的方法。(在ASP中可以用获取地址栏的信息,然后分解,再从数据库中定位,找到相关的记录。这很麻烦,我才学PHP,不知怎样在PHP中实现。)
给大家添麻烦了,真是对不起。
问题点数:20、回复次数:6Top
1 楼Hongky(xxx)回复于 2001-06-21 19:41:00 得分 0
不是这样的吧,如果你的checkbox被选中的话,值自然就传递过去了,但是如果你没有选checkbox,不会被传递过去的呀,不可能会有所有的mf03都会传递。
我觉得你的程序复杂化了,一个submit按钮能完成的,不用循环这么多按钮出来呀Top
2 楼Hongky(xxx)回复于 2001-06-21 20:37:00 得分 20
另外你的mf03本来就不是数组,和asp不一样的,php里面要自己写下标
<form method="get" action="save.php">
<?php
while($arry=mysql_fetch_array($result))
{
echo "<tr>";
echo "<td>".$arry["mf02"]."</td>";
if ($arry["mf03"]==1)
{
echo "<input type=checkbox name=mf03 value=1 checked>Y";
} else
{
echo "<input type=checkbox name=mf03[".$i."] value=".$arry["mf03"]." >Y";
}
echo "</td>";
echo "<td><input type='submit' value='save' name='save".$arry["id"]."'></td>";
echo "</tr>";
$i++;
}
</form>
Top
3 楼hotwaters(左左)回复于 2001-06-22 10:28:00 得分 0
假如我用数组的话,那么在SAVE页怎样来写呢?
如何与原数据库中的记录相关联。能写SAVE页的代码出来吗?Top
4 楼Hongky(xxx)回复于 2001-06-22 13:03:00 得分 0
mf03[]本来就是数组变量,你选中的都可以传递到你的save页面呀Top
5 楼hotwaters(左左)回复于 2001-06-22 16:21:00 得分 0
大哥,写个代码好吗???这分非你莫属了~~~~~~~~~~~~~~~~Top
6 楼hotwaters(左左)回复于 2001-06-25 11:11:00 得分 0
哎,已经解决了,不过就是分了三步来。
Top




