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 に答える