具有不同行ID形式的删除功能的问题

时间:2013-05-05 14:06:15

标签: php html forms sql-delete

我在输入中有一些变量值的问题。

所以为了更容易理解。我在mysql数据库中有一些客户端信息,我在表中用php输出。我现在正在使用删除选项。

它必须工作,当我点击按钮它抓取行的ID,然后我发送行的ID到delete.php,它被删除。

但现在我遇到了问题,因为例如,如果我有10行(10个不同的客户端),每次我从第一行获得ID,

请检查下面我的代码,并尝试帮助我解决它的错误,所以为什么我没有在表单中获得正确的行ID。

<?php
    while($row = mysql_fetch_array($result))
    {
    echo "
    <table align='center' width='962px' style='color:#000; font-family:Tahoma;'>
        <tr>
            <td width='5%' height='35'><center><span class='text3'>" . $row['id'] . "</span></center></td>  
            <td width='22%' height='35'><center><span class='text3'>" . $row['imeinpriimek'] . "</span></center></td>
            <td width='18%' height='35'><center><span class='text3'>" . $row['datuminkrajrd'] . "</span></center></td>
            <td width='25%' height='35'><center><span class='text3'>" . $row['datumvnosa'] . "</span></center></td>     
            <td width='30%' height='35'> 

    <form action='delete.php' method='post' id='form'>

    <button type='button' style='border: 0; background: #fff;' onclick=\"popup('Želiš izbrisati spodaj navedenega klienta?<br><br> <b>" . $row['imeinpriimek'] . "</b>')\"><img src='images/delete.png' title='Izbriši'><input type='text' name='id' value='" . $row['id'] . "' /</button>



    <div id='dialog-box'>
    <div class='dialog-content'>
    <div id='dialog-message'></div>

    <button type='submit' onclick=\"$('#form').submit()\" style='border:1px solid #125e94; border-radius: 3px; -moz-border-radius: 3px; font-size:12px; width: 30px; height: 25px; text-align:center; color: #e6e4e2; background: #0397ff;'>Da</button> 

    <button style='border:1px solid #125e94; border-radius: 3px; -moz-border-radius: 3px; font-size:12px; width: 30px; height: 25px; text-align:center; color: #e6e4e2; background: #0397ff;'>Ne</button>
    </form> 
    </div>
    </div>

    </td>
    </tr>
    </table>

    ";
    }
    mysql_close($con);
?>

由于

2 个答案:

答案 0 :(得分:0)

所有表单都具有相同的ID,但必须是唯一的。变化:

<form action='delete.php' method='post' id='form'>

<form action='delete.php' method='post' class='form'>

并且

<button type='submit' onclick=\"$('#form').submit()\">Da</button>

<!-- No need to use onclick, since this is type="submit" button -->
<button type='submit'>Da</button>

答案 1 :(得分:0)

我认为你需要给每个表单一个唯一的id。也许改变行

 <form action='delete.php' method='post' id='form'>

 <form action='delete.php' method='post' id='form". $row['id']."'>

您需要使用引用表单的提交按钮来更改该行:

<button type='submit' onclick=\"$('#form".$row['id']."').submit()\" style='border:1px solid #125e94; border-radius: 3px; -moz-border-radius: 3px; font-size:12px; width: 30px; height: 25px; text-align:center; color: #e6e4e2; background: #0397ff;'>Da</button> 

但正如dfsq在他的anser中指出的那样,你实际上不需要onclick类型按钮中的submit部分

取决于您在获取服务器端时如何处理表单数据。请注意,您还错过了为<div>dialog-box之类的其他dialog-message提供唯一ID。这导致无效的html。但是,我不确定是否会导致问题。