0

現在 MYSQL テーブルのコンテンツを表示しているテーブルに編集機能を追加しようとしています。

レコードの追加と削除はできますが、編集はできないようです。

以下は私のコードです。誰が私が間違っているのか教えてもらえますか??

//Editing a record


    $name=$_POST['editc'];
    $sql="UPDATE course SET name='$name' WHERE id='$id'";
    $result=mysql_query($sql);

// if successfully updated.
    if($result)
    {
        echo "Successful";
        echo "<BR>";
    }
    else 
    {
        echo "ERROR";
    }

  echo'
        <form action"'.$_SERVER['PHP_SELF'].'" method="POST">
            <table border="1" width="80%" align="center"> 
                <tr>
                    <td>
                        <h4>Record ID</h4>
                    </td>
                    <td>
                        <h4>Record Name</h4>
                    </td>
                    <td>
                        <h4>Add/Edit Record</h4>
                    </td>
                    <td>
                        <h4>Remove Selected Record(s)</h4>
                    </td>
                </tr>
                <tr>
                    <td>
                        <h5>Create New Record</h5>
                    </td>
                    <td>
                        <input type="text" name="cname" value="Type New Record Name Here" size="50"/>
                    </td>
                    <td>
                        <input type="Submit" name="Add" value="Add Record"/>
                    </td>
                    <td>
                        <h5> Select items you wish to remove, then click "Delete Selected" </h5>
                    </td>
                </tr>
                ';
                    while ($row=mysql_fetch_array($query))
                        {
                            echo'<tr>
                                    <td>
                                        '.$row['cid'].'
                                    </td>
                                    <td>
                                        '.$row['cname'].'
                                    </td>
                                    <td align="center">
                                        <input type="text" name="editc" value="Modify record Name">
                                        <input type="submit" name="cedit"   value="Edit" />

                                    </td>
                                    <td align="center">
                                        <input type="checkbox" name="cid[]" value="'.$row['cid'].'"/>
                                    </td>
                                </tr>';
                        }

            mysql_free_result($query);

            echo '

            </table>
            <br/>
            <br/>

            <div align = "center">
                <input type="submit" name="deletesel" value="Delete Selected"/>
                ---
                <input type="reset" name="unselect" value="Deselect All"/>
            </div>
        </form>

    ';
4

2 に答える 2

2

初期化するのを忘れた$id

$id=intval($_POST["cid"][0]);
$sql="UPDATE course SET name='$name' WHERE id='$id'";

mysql_*緊急時に強制される前に離れてください:)そしてもちろん消毒もしてください$name

于 2013-09-25T14:02:29.920 に答える
0

たくさんのご意見、アドバイスありがとうございました。

私は今、私の問題を解決することができました!!

以下の新しいコードを見つけてください:(他の誰かが将来同じ問題を経験する必要があります...)

//Editing a record


  if (isset($_POST['cedit']))
        {
        $UpdateQuery = "UPDATE  tablename SET columnname='$_POST[cname]' WHERE cname='$_POST[hidden]'";

            mysql_query($UpdateQuery, $connect);
        };

echo'
    <form action"'.$_SERVER['PHP_SELF'].'" method="POST">
        <table border="1" width="80%" align="center"> 
            <tr>
                <td>
                    <h4>Record ID</h4>
                </td>
                <td>
                    <h4>Record Name</h4>
                </td>
                <td>
                    <h4>Add/Edit Record</h4>
                </td>
                <td>
                    <h4>Remove Selected Record(s)</h4>
                </td>
            </tr>
            <tr>
                <td>
                    <h5>Create New Record</h5>
                </td>
                <td>
                    <input type="text" name="cname" value="Type New Record Name Here" size="50"/>
                </td>
                <td>
                    <input type="Submit" name="Add" value="Add Record"/>
                </td>
                <td>
                    <h5> Select items you wish to remove, then click "Delete Selected" </h5>
                </td>
            </tr>
            ';
                while ($row=mysql_fetch_array($query))
                    {
                        echo'<tr>
                                <td>
                                    '.$row['cid'].'
                                </td>
                                <td>
                                   <form action="course_man.php" method="post">
                                        <input type=text name=cname value="'.$row['cname'].'"/>
                                        <input type=hidden name=hidden value="'.$row['cname'].'"/>


                                    </td>
                                    <td align="center">
                                        <input type="submit" name="cedit"   value="Edit " />
                                        </form>
                                </td>
                                <td align="center">
                                    <input type="checkbox" name="cid[]" value="'.$row['cid'].'"/>
                                </td>
                            </tr>';
                    }

        mysql_free_result($query);

        echo '

        </table>
        <br/>
        <br/>

        <div align = "center">
            <input type="submit" name="deletesel" value="Delete Selected"/>
            ---
            <input type="reset" name="unselect" value="Deselect All"/>
        </div>
    </form>

';
于 2013-09-28T10:57:06.387 に答える