2012-01-25 74 views
0

我使用PHP来显示我的MYsql数据库中的表。我想添加一个删除按钮购买,我不知道如何。我想要在最后一列之后的删除按钮。这是我的代码。HTML表格中的MYsql。删除行

<?php 
$db_host = 'localhost'; 
$db_user = 'root'; 
$db_pwd = ''; 

$database = 'coins_gage'; 
$table = 'coins'; 

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 "<td>{$field->name}</td>"; 
} 
echo "</tr>\n"; 
// 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>$cell</td>"; 

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

回答

1

你必须在这里做几件事情,使界面用户友好并执行你的任务。如果我总结一下你所要做的就是这样。

1)确保使用POST方法将表格保存在表单中。在关闭FORM标签之前添加以下隐藏元素。

<input type="hidden" name="hidDelete" id="hidDelete" value="" /> 

2)通过修改本节列标题添加到表中。

// printing table headers 
for($i=0; $i<$fields_num; $i++) 
{ 
    $field = mysql_fetch_field($result); 
    echo "<td>{$field->name}</td>"; 
} 
echo "<td>Delete</td>"; 
echo "</tr>\n"; 

3)添加删除按钮的所有行。

foreach($row as $cell) 
    echo "<td>$cell</td>"; 
echo "<td><input type=\"button\" value=\"Delete\" onclick=\"deleteThis({$field->id})\" /></td>" 
echo "</tr>\n"; 

4)的创建一个JavaScript功能,使删除请求。在发布数据之前,您必须设置隐藏值。如果你使用jQuery的JavaScript库,这将是更容易。由于我不知道你正在使用哪个库,我会用纯JavaScript解释。

<script type="text/javascript"> 
function deleteThis(id) 
{ 
    document.getElementById("hidDelete").value = id; 
    document.yourFormName.submit(); 
} 
</script> 

5)一旦你的POST请求网页,请删除您做选择查询之前。

if(isset($_POST["hidDelete"]) $_POST["hidDelete"] != "") 
{ 
    $rowID = $_POST["hidDelete"]; 
    // Write your delete queries 
} 
+0

我的答案格式不对。有人请编辑它。谢谢。 –

+0

答案是好的,只有通过提交表单中的选项框来简化它(“选定”值将被删除) – alfasin