0

该程序不更新行记录,任何帮助:(

该程序无法连续更新多条记录,我需要帮助... tnx

这是PHP代码:

<?php 
  require_once('Connections/tlsc_conn.php');
  mysql_select_db($database_tlsc_conn, $tlsc_conn);
  $query_Recordset1 = "SELECT * FROM tbl_name";
  $Recordset1 = mysql_query($query_Recordset1, $tlsc_conn) or die(mysql_error());
  $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($Recordset1);

  if(isset($_POST['submit'])) {
  $count = count($_POST['name']);
  for($i=0;$i<$count;$i++){
        $sql1="UPDATE $tbl_name SET name='$name[$i]',lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
        $row_Recordset1=mysql_query($sql1);
    }

    if($row_Recordset1){
        header("location:mulupdate.php");
        exit;
    }   
 }
?>

这是html代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org    /TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
 <title>Untitled Document</title>
</head>
<body>
<form name="form2" method="post" action="">
  <p>&nbsp;</p>
  <table width="634" border="1">
    <tr>
       <td>id</td>
       <td>name</td>
       <td>lastname</td>
       <td>email</td>
    </tr>
    <?php do { ?>
    <tr>
      <td><?php $id[]=$row_Recordset1['id']; ?><?php echo $row_Recordset1['id'];      ?></td>
      <td><input name="name[]" type="text" value="<?php echo $row_Recordset1['name'];   ?>"></td>
       <td><input name="lastname[]" type="text" value="<?php echo   $row_Recordset1['lastname']; ?>"></td>
       <td><input name="email[]" type="text" value="<?php echo  $row_Recordset1['email']; ?>">
       </td>
    </tr>
     <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>

  </table>
   <p>
    <label>
    <input type="submit" name="submit" value="Submit" />
     </label>
   </p>
</form>
</body>
</html>

我尝试添加变量,但仍然无法正常工作

4

2 回答 2

1

我相信您的 SQL 语句需要用双引号括起来的变量 {}"

$sql1="UPDATE $tbl_name SET name='{$name[$i]}',lastname='{$lastname[$i]}', email='{$email[$i]}' WHERE id='{$id[$i]}'";

您还需要像这样发回 id:

<input name="id[]" type="hidden" value="<?php echo $row_Recordset1['id'];?>">

编辑:

查看您的代码,它似乎 $name、$lastname、$email 和 $id 未定义,您需要执行以下操作:

$sql1="UPDATE $tbl_name SET name='{$_POST['name'][$i]}',
lastname='{$_POST['lastname'][$i]}', email='{$_POST['email'][$i]}'
WHERE id='{$_POST['id'][$i]}'";
于 2013-09-18T09:03:15.860 回答
0

您没有将 id 发送回更新文件..尝试将其插入<form>循环内的 html 中:

<input name="id[]" type="hidden" value="<?php echo $row_Recordset1['id'];   ?>">
于 2013-09-18T08:59:28.227 回答