PHP:从多维数组中删除数组

时间:2014-05-23 14:21:15

标签: php arrays multidimensional-array

我有一个多维数组,我需要在mouseclick上删除数据。

Array
(
[0] => Array
    (
        [name] => Whatever
        [contact1] => contact name
        [contactemail1] => some@email.com
        [contact2] => other contact name
        [contactemail2] => someother@email.com
    )

[1] => Array
    (
        [name] => Whatever
        [contact1] => contact name
        [contactemail1] => some@email.com
        [contact2] => other contact name
        [contactemail2] => someother@email.com
    )

[2] => Array
    (
        [name] => Whatever
        [contact1] => contact name
        [contactemail1] => some@email.com
        [contact2] => other contact name
        [contactemail2] => someother@email.com
    )

)

我有一个foreach循环,为我显示数据

foreach($klantennaam as $val){
echo '<tr height="65">'; 
echo '<td valign="top" style="padding-right:25px;">'.$val["naam"].'</td>';
echo '<td valign="top" style="padding-right:25px;">'.$val["contact1"].'
echo '</tr>';
}           

我想在表单后面放一个按钮,根据类似name的值删除数组中的数据。 例如
<a href="delete_from_db.php">Delete</a>

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您向我们展示了PHP代码(服务器端),但是通过JavaScript在客户端跟踪鼠标操作。

基本上这个数组在php编译并回显时停止存在。因此,你不能干涉它。

如果要在获得结果页面后删除表格行:

  1. 为每一行(<td>)提供唯一ID

  2. 创建新列以放置链接

  3. 在链接指定onClick javascript事件:

    onClick="deleteRow( "rowUniqueID" )"; return false;

  4. 创建javascript函数deleteRow(uniqueId)

  5. 使用jQuery在delete_from_db.php上调用AJAX请求,通过POSTGET传递uniqueID参数。

  6. 根据您的SQL结构执行SQL语句。

    例如。 "DELETE FROM tableEx WHERE id = ".$_POST['uniqueID];

  7. 请注意,直接将参数传递给变量查询是危险的,这会对SQL注入造成漏洞。

    然后,您可以在AJAX onComplete回调事件中使用jQuery隐藏或完全删除此行。或者,您可以刷新页面,假设您从数据库中获取数据。