php通过input修改数据库记录的问题

时间:2021-06-29 07:28:03
是从数据库里读出一行记录填入表中,有几行保持不变,另外几行加了input,input默认值是从数据库中读取。但想实现的功能是,人为可以改动input值,然后点击确认保存,update存入数据库。点击保存后页面也显示新保存的值。 这个如何实现? 我代码是下面这样的,但用echo查了,$qcverify=$_POST['textfield']; 这步就取不到input的值,不知道为什么,希望各位大侠帮忙看看,谢谢!!!


<?

$con=……;
$sql=……;
while(odbc_fetch_row($cur))//通过循环读取数据内容
{  
$station = odbc_result($cur,Expr1);
$rdate = odbc_result($cur,Expr3);
$rtime = odbc_result($cur,Expr4);
$qcname = odbc_result($cur,Expr5);
$qcresult = odbc_result($cur,Expr6);
$qcverify=odbc_result($cur,Expr7);
$qcnature=odbc_result($cur,Expr8);
$qcreason=odbc_result($cur,Expr9);
$qctime=odbc_result($cur,Expr10);
$person=odbc_result($cur,Expr11);
$remark=odbc_result($cur,Expr12);
}

?>
          </table>
          <table width="51%" border="0">
            <tr>
               <td width="325" bgcolor="#C7DAE9"><? echo $station;?></td>
            </tr>
            <tr>
               <td bgcolor="#C7DAE9"><? echo substr($rdate,0,10);?></td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9"><? echo $rtime;?></td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9"><? echo $qcname;?></td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9"><? echo $qcresult;?></td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9">
              <input name="textfield"  type="text" class="style11" value="<? echo $qcverify?>" />
              </td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9">
             <input name="textfield2" type="text" class="style11" value="<? echo $qcnature?>" />
              </td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9">
            <input name="textfield3"  type="text" class="style11" value="<? echo $qcreason?>" />
              </td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9">
                <input name="textfield4" type="text" class="style11" value="<? echo $qctime?>"  />
              </td>
            </tr>
            <tr>
              <td bgcolor="#C7DAE9">
               <input name="textfield5" type="text" class="style11" value="<? echo $person?>"  />
              </td>
            </tr>
            <tr>
            <td bgcolor="#C7DAE9">                
           <input name="textfield6" type="text" class="style11" value="<? echo $remark?>"  />
              </td>
            </tr>
          </table>
          <form name="form1" id="form1" method="post" action="">
            <input name="Submit" type="submit" class="style11" value="确认保存" />          
                    </form>
<? 
if($_POST['Submit']){
$qcverify=$_POST['textfield'];
$qcnature=$_POST['textfield2'];
$qcreason=$_POST['textfield3'];
$qctime=$_POST['textfield4'];
$person=$_POST['textfield5'];
$remark=$_POST['textfield6'];
$sqlstr="update NOTESQCR set qcverify='$qcverify',qcnature='$qcnature',qcreason='$qcreason',qctime='$qctime',person='$person',remark='$remark' where (NOTESQCR.Rdate = '$rdate') AND (NOTESQCR.StationNum = '$station') and (NOTESQCR.EleName='$qcname')AND (NOTESQCR.RTime = '$rtime')";
$cur=odbc_do($con,$sqlstr);
echo $sqlstr;
echo $person;
}
odbc_close($con);
?>

5 个解决方案

#1


把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

#2


引用 1 楼 daly2008 的回复:
把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??

#3


引用 2 楼 life169 的回复:
引用 1 楼 daly2008 的回复:

把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??

而且你的循环也要判断啊...或者包括到form中..不然如果没有数据你的页面就报错了

#4


引用 2 楼 life169 的回复:
引用 1 楼 daly2008 的回复:

把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??


我没填action,后来也处理了呀

#5


引用 2 楼 life169 的回复:
引用 1 楼 daly2008 的回复:

把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??


action="" 的话,是提交到当前页,就是相当于 form.action = window.location.href

#1


把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

#2


引用 1 楼 daly2008 的回复:
把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??

#3


引用 2 楼 life169 的回复:
引用 1 楼 daly2008 的回复:

把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??

而且你的循环也要判断啊...或者包括到form中..不然如果没有数据你的页面就报错了

#4


引用 2 楼 life169 的回复:
引用 1 楼 daly2008 的回复:

把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??


我没填action,后来也处理了呀

#5


引用 2 楼 life169 的回复:
引用 1 楼 daly2008 的回复:

把<form name="form1" id="form1" method="post" action="">
放到你页面的最上面,input是要包含在form之间的。

而且你的action是空的,你的数据post给谁处理??


action="" 的话,是提交到当前页,就是相当于 form.action = window.location.href