0

私のウェブサイトはMySQLデータベースからテーブルを作成します。メンバーがテーブルの特定の行を削除できるように、各行の横に削除ボタンを配置する方法であるかどうか疑問に思いました。他のすべては正常に動作します。ユーザーが自分の行をテーブルから削除できるようにしたいと思います。

<form action="addcel.php" method="post">
Name <input type="text" name="Name"/>
Year <input type="text" name="year"/>
<input type="submit" />

<html><head><title>MySQL Table Viewer</title></head><body>
<?php
echo "<style type = 'text/css'>

table {width:700px;border:none;text-align:center;background-color:#B0B0B0;font-family:'Arial';}

#tabledata {padding:2px;border-width:0px;}

#tableheader {border-width:0px;}

#line {border:1px solid black;padding:0px;}

</style>";
$db_host = 'localhost';
$db_user = 'root';
$db_pwd = '';

$database = 'Name_gage';
$table = 'Name';

if (!mysql_connect($db_host, $db_user, $db_pwd))
    die("Can't connect to database");

if (!mysql_select_db($database))
    die("Can't select database");

// sending query
$result = mysql_query("SELECT * FROM {$table}");
if (!$result) {
    die("Query to show fields from table failed");
}

$fields_num = mysql_num_fields($result);

echo "<h1>Table: {$table}</h1>";
echo "<table border='1'><tr>";
// printing table headers
for($i=0; $i<$fields_num; $i++)
{
    $field = mysql_fetch_field($result);
    echo "<th id = 'tableheader'>{$field->name}</th>";
}
echo "</tr>\n";
echo "<tr><td id = 'line'></td id = 'line'><td id = 'line' ></td><td id = 'line' ></td><td id = 'line' ></td><td id = 'line' ></td></tr>";
// printing table rows
while($row = mysql_fetch_row($result))
{
    echo "<tr>";

    // $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    foreach($row as $cell)
        echo "<td id = 'tabledata'>$cell</td>";

    echo "</tr>\n";
}
mysql_free_result($result);
?>
</body></html>
4

3 に答える 3

1

各行にフォームを配置して、行 ID を指定して削除スクリプトを呼び出すことができます。

while($row = mysql_fetch_row($result))
{
    echo "<tr>";

    // $row is array... foreach( .. ) puts every element
    // of $row to $cell variable
    foreach($row as $cell)
        echo "<td id = 'tabledata'>$cell</td>";
    echo "<form method='post' action='delete.php'><input type='hidden' name='id' value='$row[id]'/><input type='submit' value='Delete'/></form>";
    echo "</tr>\n";
}
于 2012-06-18T17:23:26.247 に答える
0

それにはajax呼び出しが必要です。ユーザーが特定のhtmlテーブル行の削除ボタンをクリックすると、サーバーに対してajax呼び出しを実行し、サーバー側でその特定の行をデータベースから削除する必要があります。

于 2012-06-18T17:28:38.313 に答える
0

同様のこのstackoverflowの質問を見てください:

Jquery Ajaxはテーブルとデータベースから行を削除します

上記のリンクは、Ajax を使用して目的の結果を得る方法を参照し、説明しています。

必要に応じて、ユーザーを行削除ページにリンクする行削除ボタンの onClick 関数をいつでも作成し、ユーザーを更新してテーブル ページに戻すことができます。これは、AJAX の前に彼らが行った方法ですが、シームレスなアプローチではありません。

于 2012-06-18T17:21:17.057 に答える