1

データベース内のすべてのデータをテキストエリアとして表示できるこのコードがあります。更新ボタンをクリックして更新する必要があります。

これに基づいて、私にそれらを編集させることになっていますが、送信をクリックしても編集されません...

<form name="form1" method="post" action="">
<tr>
<td>
<table width="500" border="0" cellspacing="1" cellpadding="0">

<tr>
<td align="center"><strong>Id</strong></td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
</tr>

<?php
    while($rows=mysql_fetch_array($result)){
?>

<tr>
    <td align="center">
        <? $id[]=$rows['id']; ?>
        <? echo $rows['id']; ?>
    </td>
    <td align="center">
        <input name="name[]" type="text" id="name" value="<? echo $rows['name']; ?>">
    </td>
    <td align="center">
        <input name="lastname[]" type="text" id="lastname" value="<? echo $rows['lastname']; ?>">
    </td>
    <td align="center">
        <input name="email[]" type="text" id="email" value="<? echo $rows['email']; ?>">
    </td>
</tr>

<?php
    }
?>

<tr>
    <td colspan="4" align="center">
        <input type="submit" name="Submit" value="Submit"/>
    </td>
</tr>
</table>
</td>
</tr>
</form>
</table>

<?php

// Check if button name "Submit" is active, do this
if($Submit)
{
    for($i=0;$i<$count;$i++)
    {
        $sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
        $result1=mysql_query($sql1);
    }
}

if($result1)
{
    header("location:update_multiple.php");
}
4

3 に答える 3

0

はい、IDを忘れたためです

<? $id[]=$rows['id']; ?>そのように渡すことはできません

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

スクリプトif($Submit){if($_POST['Submit'] != ''){

于 2012-08-22T09:38:46.313 に答える
0

$Submitあなたはあなたの投稿で定義していないので、の内容{ ... }は決して実行されません。

アップデートには、次のようなものを試してください。

if(isset($_POST[$name]))
{
// update stuff
}

コードでは、ifステートメントが実行されないため、$ resultが設定されないため、ユーザーがリダイレクトされることはありません。毎回同じページが表示されます。

于 2012-08-22T09:39:04.980 に答える
0

ボタンをクリックしたときに投稿が発生するかどうかを確認するには、次のように設定する必要があります。

<form>タグに以下を追加

<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 

最後に、ボタンがクリックされたかどうかを確認する場所:

if(isset($_POST['Submit'])) { 

//Update fields

}

PHP では、送信ボタンの名前フィールドは大文字と小文字が区別されることに注意してください。

于 2012-08-22T09:49:26.750 に答える