我的网站将从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>
答案 0 :(得分: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";
}
答案 1 :(得分:0)
看看这个类似的stackoverflow问题:
Jquery Ajax remove rows from table and in db
上面的链接引用并解释了如何使用Ajax来实现所需的结果。
如果您愿意,您可以随时为删除行按钮创建一个onClick函数,该函数将用户链接到删除行页面,然后将用户刷新回表格页面。这就是他们在AJAX之前做到的方式,但是它是一种不那么无缝的方法。
答案 2 :(得分:0)
这需要ajax调用。当您的用户单击特定html表行的删除按钮时,您需要对服务器执行ajax调用,并在服务器端从数据库中删除该特定行。