为什么php循环创建的第一个表单不起作用?
我有一个由php循环在表中生成的表单。除了生成的第一个表单外,该表单工作正常。我似乎不明白为什么。这是我的密码,我是不是错过了一个结束为什么php循环创建的第一个表单不起作用?,php,html,while-loop,Php,Html,While Loop,我有一个由php循环在表中生成的表单。除了生成的第一个表单外,该表单工作正常。我似乎不明白为什么。这是我的密码,我是不是错过了一个结束 while($row = mysql_fetch_array($result)) { $msisdn = $row['msisdn']; $messageid = $row['messageid']; echo "<tr>"; echo "<td style='width:70
while($row = mysql_fetch_array($result))
{
$msisdn = $row['msisdn'];
$messageid = $row['messageid'];
echo "<tr>";
echo "<td style='width:70px;'><center>" . $row['message-timestamp'] . "</td>";
echo "<td><center>" . $row['terpname'] . "</td>";
echo "<td>";
echo "<div class='layer1'>
<p class='heading'><B><U><font size='2' color='blue'>Reply</font></u></b> </p>
<div class='content'>
<fieldset >
<form name='reply' method='post' action='reply.php'>
<textarea rows='4' cols='50' name='response' value=''></textarea>
<input type='hidden' name='phonenumber' value='$msisdn' /><BR>
<input type='hidden' name='messageid' value='$messageid' /><BR>
<input type='submit' name='search' class='btn btn-info btn-large' value='Send' />
</form>
</fieldset>
</div>
</div>
";
echo "-->" . $row['text'];
//Select responses to this text message
$sqlselect = "SELECT * FROM li_appointments.li_outbound_sms
where messageid = '" . $row['messageid'] . "';";
$subresult = mysql_query($sqlselect);
//Loop through results and display them
while($row = mysql_fetch_array($subresult))
{
echo "<BR><--" . $row['sender'] . "(" . $row['datetime'] . "): " . $row['message'];
}
echo "</td>";
echo "<td style='width:10px;'><center><input type='checkbox' class='db' onclick='resetSelectAlldb();'name='database[]', value='$messageid'></center></td>";
echo "</tr>";
}
while($row=mysql\u fetch\u array($result))
{
$msisdn=$row['msisdn'];
$messageid=$row['messageid'];
回声“;
回显“$row['message-timestamp']”;
回显“$row['terpname']”;
回声“;
回声“
答复
";
echo“-->”$row['text'];
//选择对此文本消息的响应
$sqlselect=“从li\u约会中选择*li\u出站\u短信
其中messageid='””$row['messageid']。“;”;
$subresult=mysql\u查询($sqlselect);
//循环浏览结果并显示它们
while($row=mysql\u fetch\u数组($subresult))
{
echo“
您应该使用prepare语句,但无论如何,您不能在同一个函数中使用$row两次
while($row = mysql_fetch_array($result))
{
$msisdn = $row['msisdn'];
$messageid = $row['messageid'];
echo "<tr>";
echo "<td style='width:70px;'><center>" . $row['message-timestamp'] . "</td>";
echo "<td><center>" . $row['terpname'] . "</td>";
echo "<td>";
echo "<div class='layer1'>
<p class='heading'><B><U><font size='2' color='blue'>Reply</font></u></b> </p>
<div class='content'>
<fieldset >
<form name='reply' method='post' action='reply.php'>
<textarea rows='4' cols='50' name='response' value=''></textarea>
<input type='hidden' name='phonenumber' value='$msisdn' /><BR>
<input type='hidden' name='messageid' value='$messageid' /><BR>
<input type='submit' name='search' class='btn btn-info btn-large' value='Send' />
</form>
</fieldset>
</div>
</div>
";
echo "-->" . $row['text'];
//Select responses to this text message
$sqlselect = "SELECT * FROM li_appointments.li_outbound_sms
where messageid = '" . $row['messageid'] . "';";
$subresult = mysql_query($sqlselect);
//Loop through results and display them
while($row2 = mysql_fetch_array($subresult))
{
echo "<BR><--" . $row2['sender'] . "(" . $row2['datetime'] . "): " . $row2['message'];
}
echo "</td>";
echo "<td style='width:10px;'><center><input type='checkbox' class='db' onclick='resetSelectAlldb();'name='database[]', value='$messageid'></center></td>";
echo "</tr>";
}
while($row=mysql\u fetch\u array($result))
{
$msisdn=$row['msisdn'];
$messageid=$row['messageid'];
回声“;
回显“$row['message-timestamp']”;
回显“$row['terpname']”;
回声“;
回声“
答复
";
echo“-->”$row['text'];
//选择对此文本消息的响应
$sqlselect=“从li\u约会中选择*li\u出站\u短信
其中messageid='””$row['messageid']。“;”;
$subresult=mysql\u查询($sqlselect);
//循环浏览结果并显示它们
while($row2=mysql\u fetch\u数组($subresult))
{
回声“
您在两个循环中都分配了$row。来自$subresult的一个重写了来自$result的一个。我想,您只需要为这两行使用不同的变量名。如果您至少使用php pdo@PedroVentura,这将是一个更好的代码,他肯定应该使用预处理语句,因为这些mysql函数现在已经不推荐使用了。我知道我需要更新到PDO,这是为未来的项目计划的。至于$row问题,这是一个很好的捕获,但没有解决我的问题。