0

私はウェブ開発の初心者です。データベースに挿入するメモの ID、回答、日付を示す簡単なテーブルを作成しました。各メモの削除ボタンを表示する簡単なスクリプトが必要です。削除する必要がある各行の ID を取得する方法を知りたいです。これが私のphpコードです:

<html>
<body>
<?php
 include '..//config.php';
 $result = mysql_query("SELECT * FROM **** Order by `id` ASC");
echo "<center><table width='400' border='1'>
<tr>
<th bgcolor='#D6D6D6' >ID</th>
<th bgcolor='#D6D6D6'>Answer</th>
<th bgcolor='#D6D6D6'>Date</th>
<th bgcolor='#D6D6D6'>Preview</th>
<th bgcolor='#D6D6D6'>Delete</th>
</tr>";


while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td bgcolor='#3399FF' scope='col width ='10%'>" . $row['id'] . "</td>";
  echo "<td width ='10%'>" . $row['answer'] . "</td>";
  echo "<td  bgcolor='#3399FF' scope='col width ='10%'>" . $row['date'] . " </td>";   
     if ($row['hidden'] > 'http://www.********/upload/upload/') {
  echo "<td width ='10%'><a href =" . $row['hidden'] . "><center>View</center></a></td>"; } else {echo "<td width ='10%'>" . $row[''] . "</td>";}
   echo "<td width ='10%'><a href = 'dlt.php'>Delete</a></td>";
   $row_id = $row['id'];
          }
  echo "</tr width ='10%'>"; 
  echo "</table></center>";
?>
</body>
</html>
4

1 に答える 1

1

あなたの質問からあなたの要件が何であるかはあまり明確ではありませんがid、「削除」リンク(にリンクされている)をクリックしたときにエントリの を渡す方法を知りたいと思いますdlt.php

エントリdlt.phpのでクエリ文字列パラメータを渡すことができます。id

コードをクリーンアップし、以下に変更しました。

<!Doctype html>
<html>
    <body>
    <?php
        include '../config.php';
        $result = mysql_query("SELECT * FROM **** Order by `id` ASC");
    ?>
        <center>
            <table width='400' border='1'>
                <tr>
                    <th bgcolor='#D6D6D6'>ID</th>
                    <th bgcolor='#D6D6D6'>Answer</th>
                    <th bgcolor='#D6D6D6'>Date</th>
                    <th bgcolor='#D6D6D6'>Preview</th>
                    <th bgcolor='#D6D6D6'>Delete</th>
                </tr>

                <?php
                    while ($row = mysql_fetch_array($result)) {

                        $row_id = $row['id'];
                        ?>
                        <tr>
                            <td bgcolor='#3399FF' scope='col' width='10%'><?php echo $row_id; ?></td>
                            <td width='10%'><?php $row['answer']; ?></td>
                            <td  bgcolor='#3399FF' scope='col' width ='10%'><?php $row['date']; ?></td>
                            <td width ='10%'>
                                <?php
                                    // I am not exactly sure what this line was meant to do in your code
                                    if ($row['hidden'] > 'http://www.********/upload/upload/') {
                                        echo "<a href='" . $row['hidden'] . "'><center>View</center></a>";
                                    }
                                ?>
                            </td>
                            <td width ='10%'><a href='dlt.php?id=<?php echo $row_id; ?>'>Delete</a></td>

                        </tr>

                        <?php
                    }

                ?>
            </table>
        </center>
    </body>
</html>

次に、dlt.phpファイルでid、次の行を使用して、削除する を取得できます。

if (isset($_GET['id']) {
    $delete_id = $_GET['id'];
}
else {
    // no 'id' has been passed.
    die('Nothing to delete!');
}
$result = mysql_query("DELETE FROM **** WHERE `id` = $delete_id");

あなたは Web 開発 (または一般的な開発) に慣れていないので、次の 2 つの点に十分注意する必要があります。

  1. 適切なインデントを使用してクリーンなコードを記述します。問題を非常に迅速に特定してデバッグするのに役立ちます。
  2. W3C 標準に準拠したコードを記述します。
  3. 使用したいテクノロジー API を理解し、非推奨の機能に注意してください。たとえば、PHPmysql_*関数では非推奨です。代わりにmysqliorを使用する必要があります。PDO

もっとポイントを入れたいのですが、リストは実際には非常に長くなる可能性があります. これらは初心者に適しているはずです。

于 2012-12-22T13:45:39.903 に答える