如何从while循环语句中获取某个值

时间:2013-12-08 04:04:40

标签: php mysql while-loop

你能帮我解决一下我的代码吗? 我的下面的代码是一个程序,用于获取我的数据库中的所有请求,每个获取的数据都有一个[Yes / No] aprroval选项,它由一个单选按钮生成,一个按钮将批准发送回我的数据库和一个文本用于输入备注的字段。我的问题是,我的代码只有在我点击生成的第一个按钮时才有效。每当我先点击前进按钮时它就无法工作。

我也不能为每条记录获取文本字段的值,似乎它总是读取所有空文本字段。 请帮帮我。谢谢。注意:我还没有更新到mysqli,我会在解决问题后再这样做。谢谢。

<html>
<title> Offset Requests </title>

<head><link rel="stylesheet" type="text/css" href="up.css"/> </head>
<script type="text/javascript">
function Approval()
{
var name;
var rem;
name=document.getElementById('ename').textContent;
rem=document.getElementById('remarks').textContent;
if(document.form1.approval[0].checked==true)
    {   
        alert(name);
        window.location.href = "sqli.php?q=Yes" +"&ecode="+name +"&remarks="+rem;
    }
else if(document.form1.approval[1].checked==true)
    {   
        alert(name);
        window.location.href = "sqli.php?q=No" +"&ecode="+name +"&remarks="+rem;;
    }


}
</script>
<body>
<form id="form1" name="form1"> 
<?php
$conn = mysql_connect("localhost","root","");
    if(!$conn)
        echo ("Could not connect");

    mysql_select_db("dbrequests",$conn);

    $query=mysql_query("Select * from offset_form where Approved=''");
    while($fetch=mysql_fetch_array($query))
        {
        $ecode=$fetch['Employee_Code'];
        $ename=$fetch['Employee_Name'];
        $epos=$fetch['Employee_Position'];
        $edpt=$fetch['Employee_Department'];
        $dleave=$fetch['Date_Leave'];
        $dreturn=$fetch['Date_Return'];
        $reason=$fetch['Offset_Reason'];

        echo "<div id='ename'> $ecode</div>".$ecode ."".$ename." ".$epos." ".$edpt." ".$dleave." ".$dreturn." ".$reason;
        echo "<input type='radio' name='approval' >Yes";
        echo "<input type='radio' name='approval' >No";
        echo "<input type='text' name='remarks' id='remarks' size='30'>";
        echo"<hr id='br'></hr>";
        echo"<input type='button' value='Submit' name='send' onClick='Approval(this.form)'>";

        }

?>
</form>
</body>
</html>

这是更新我的记录的代码:

<?php
require 'sqlicon.php';
$q=$_GET['q'];
$ecode= $_GET['ecode'];
$remarks=$_GET['remarks'];
$emp=str_replace(' ', '', $ecode);
var_dump($emp);

echo"".$ecode;
$result=$db->query("UPDATE offset_form SET Approved='".$q."', Manager_Remarks='".$remarks."' WHERE Employee_Code='".$emp."'");
header("Location:testingjava.php");

&GT;

1 个答案:

答案 0 :(得分:0)

mysql_fetch_array返回索引键并且您正在尝试关联值。将mysql_fetch_array替换为mysql_fetch_assoc()

你的循环将是: -

while($fetch=mysql_fetch_assoc($query)) {

         .........
}

你可以调试你的查询是否有效: -

 $query=mysql_query("Select * from offset_form where Approved=''", $conn);
 echo mysql_errno($conn) . ": " . mysql_error($conn) . "\n"