每行旁边的删除按钮

时间:2015-05-01 07:46:29

标签: php html mysql

我有这个脚本,用户可以看到项目表。但只有管理员可以删除所说的项目。

$query = ("select * from projectlist");
$result = mysql_query($query) or die (mysql_error());

while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
    echo "<tr>";
        while( list($key, $value) = each($row)){
            //Print value
            echo "<td>" . $value . "</td>";
        }

        if($_SESSION['rights'] == 'administrator'){
            echo "<td><i class='fa fa-times-circle-o'></i></td>";
        }
    echo "</tr>";
}

每一行都有一个名为projectid的ID,使用$query = ("select * from projectlist");进行调用。

您可以看到,如果管理员已登录,则会显示一个图标。我想要它做的是,如果用户点击图标,该行将被删除。我对PHP不是很好,我花了一段时间才使这个脚本工作。

如果有人可以帮助我,我会很感激。

4 个答案:

答案 0 :(得分:0)

试试这个,

$query = ("select * from projectlist");
$result = mysql_query($query) or die (mysql_error());

while($row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<tr>";
    while( list($key, $value) = each($row)){
        //Print value
        echo "<td>" . $value . "</td><td id='del".$value."'><button></button></td>";
    }

    if($_SESSION['rights'] == 'administrator'){
        echo "<td><i class='fa fa-times-circle-o'></i></td>";
    }
echo "</tr>";

答案 1 :(得分:0)

您可以使用mysql_fetch_array($result, MYSQL_ASSOC)

代替mysql_fetch_array($result)
$query = ("select * from projectlist");
$result = mysql_query($query) or die (mysql_error());

while($row = mysql_fetch_array($result))
{
  $id = $result['id']; // you unique column in table

  $col1 = $result['col1']; //similarly all other columns

    echo "<td>$col1</td>"; 
    if($_SESSION['rights'] == 'administrator'){
        echo "<td><a href='your_current_page.php?id=$id'><i class='fa fa-times-circle-o'></i></a></td>";
    }
echo "</tr>";
   }

要删除行的代码

if(isset($_GET['id']))
 {
    $id= $_GET['id'];
    mysql_query("delete from table where id='$id'");
    echo "deleted";//whatever you want to do
 }

答案 2 :(得分:0)

Ajax并不复杂。

当我需要Ajax时,我更喜欢jQuery:

<!DOCTYPE html>
<html>
<head>
<title>Example</title>
<script type='text/javascript' src='//code.jquery.com/jquery-1.11.0.js'></script>
<script type='text/javascript'>
  $(function() { // when page loded
    $(".del").on("click",function(e) { // clicking on a class=del thing
      e.preventDefault(); // stop any submission from the button
      $.post("delete.php",{ "id":$(this).val()},function(data) {
       $("#somemessageDiv").html(data);
      });
    });
  );
</script>

使用class而不是ID,因为ID必须是唯一的

echo "<td>" . $value . "</td>";
if($_SESSION['rights'] == 'administrator'){
  echo "<td><button class='del' value='".value."'>DELETE</button></td>";
}

现在你需要delete.php获取一个id并返回成功或错误

答案 3 :(得分:0)

  • 创建删除特定行的表单。
  • 创建一个隐藏字段,其值为该行的id。
  • 使用mysql的删除查询创建一个deleterow.php并编写用于从数据库中删除该行的代码。

if($_SESSION['rights'] == 'administrator') {
    <form type='post' action ='deleterow.php'>
        <input type="hidden" name='rowid' value='<?php echo $rowid ;?>' />
        echo "<td><input type='submit' name="submit" value="delete" /></td>";
    </form>
}