如何在我的php行中添加更新,删除和查看按钮

时间:2014-09-12 06:46:56

标签: php mysql

我想添加"更新","删除"和"查看"在我的php表的表行右侧的其他页面按钮。请帮我添加它。这是我的代码:

<?php
$conn = mysqli_connect('localhost','root','','dbname');
if(mysqli_connect_errno()){
    echo 'Failed to connect: '.mysqli_connect_error();
}

$query = "SELECT * FROM table";
$results = mysqli_query($conn,$results);

echo '<table border="1">';
    echo '<tr>';
        echo "<th>Firstname</th>";
        echo "<th>Lastname</th>";
    echo '</tr>';

    while($row=mysqli_fetch_array($results)){
        echo '<tr>';
        echo '<td>'.$row['Firstname'].'</td>';
        echo '<td>'.$row['Lastname'].'</td>';
        echo '</tr>';
    }
echo '</table>';
mysqli_close($conn);
?>

3 个答案:

答案 0 :(得分:0)

我在你的代码中看到了一些错误:

$query = "SELECT * FROM table";
$results = mysqli_query($conn,$results);

应该是:

$query = "SELECT * FROM table";
$results = mysqli_query($conn,$query);

试试这个

echo '<table border="1">';
echo '<tr>';
    echo "<th>Firstname</th>";
    echo "<th>Lastname</th>";
    echo "<th></th>";
echo '</tr>';

while($row=mysqli_fetch_array($results)){
    echo '<tr>';
    echo '<td>'.$row['Firstname'].'</td>';
    echo '<td>'.$row['Lastname'].'</td>';
    echo "<td>
             <input type='submit' value='update'>
             <input type='submit' value='delete'>
             <input type='submit' value='view'>
         </td>";
    echo '</tr>';
}
echo '</table>';

答案 1 :(得分:0)

echo '<tr>';
        echo "<th>Firstname</th>";
        echo "<th>Lastname</th>";
        echo "<th>Actions</th>";
echo '</tr>';

while($row=mysqli_fetch_array($results)){
    echo '<tr>';
    echo '<td>'.$row['Firstname'].'</td>';
    echo '<td>'.$row['Lastname'].'</td>';
    echo "<td>
             <a href="update.php?id=<?php echo $row['id'] ?>">Update </a> &nbsp;&nbsp;
             <a href="javascript:void(0);" onclick="deleteRow('<?php echo $row[id] ?>');"> Delete </a>&nbsp;&nbsp;
             <a href="view.php?id=<?php echo $row['id'] ?>">View </a>
         </td>";
    echo '</tr>';
}
echo '</table>';

您应该使用jquery / Ajax进行删除。这是更好的选择。

删除时写入此功能:需要添加min jquery文件

<script src="js/jquery-1.7.1.min.js"></script> 
<script>
function deleteRow(id)
{
     $.ajax({
                url: 'delete.php',
                type: "POST",
                data: {
                    'id' : id,
                },
                success : function(response) { 
                  alert('Record deleted');
                },
                error : function() {                                                
                },
                complete : function() {
                }

            });
}
</script>

将删除记录代码写入'delete.php'。

这是一个选择。你可以用更好的和特定的方式做到这一点。这里所说的一切都不可能。

对于视图,您可以通过两种方式执行此操作。

1)如果您想以相同的格式显示,请将其重定向到自己的页面并输入条件。

if(isset($_POST['id'])
{
     $id = $_POST['id'];
     $query = "SELECT * FROM table where id=$id";
}
else
{
     $query = "SELECT * FROM table";
}

2)如果你想要不同的格式,在view.php中做同样的事情只选择那条记录。

我想问一个简单的事情是什么需要查看?当它已经在上面的表格中时。

对于Update,请在update.php中写入:

if(isset($_POST['id'])
{
         $id = $_POST['id'];
         $query = "SELECT * FROM table where id=$id";
}

并设置表单操作

<form method="post" action="<?php echo esc_url($_SERVER['PHP_SELF']); ?>">

在输入框中获取上述结果的值,并将id作为hiiden字段获取:

<input type='text' name='firstname' value='<?php echo $row['firstname'];  ?>
<input type='hidden' name='id' value='<?php echo $row['id']; ?>

和更新你可以像:

 if(isset($_POST['firstname'] && isset($_POST['lastname'] ) // Here you can use your any required field  
    { 
             //Your update logic go here like:
             $id = $_POST['id'];
             $query = "UPDATE table SET firstname=$_POST['firstname'] where id=$id"; // Your whole update query.
    }

答案 2 :(得分:0)

尝试此功能:

<?php
Class Db {
    protected $connection;

    public function __construct() {

        $this->connection = $connection;
    }

    function insert($table,array $data) {
        $fields = '';$values = '';

        foreach($data as $col => $value) {
            $fields.= $col.",";
        }

        foreach($data as $col => $value) {
            $values.= "'".replace_str($value)."',";
        }

        $fields = substr($fields,0,-1);
        $values = substr($values,0,-1);

        if(!$query = mysqli_query($this->connection,"insert into ".$table."(".$fields.") values(".$values.")")) {
            HandleDBError("Error inserting data to the table\query:$query");
        }

        return $query;
    }

    function update($table, array $data, $where) {
        $fields = '';$values = '';

        foreach($data as $col => $value) {
            $values.= $col."='".replace_str($value)."',";
        }

        $values = substr($values,0,-1);

        if(!$query = mysqli_query($this->connection,"update ".$table." set ".$values." where ".$where)) {
            HandleDBError("Error updating data to the table\query:$query");
        }

        return $query;
    }

    function delete($table, $where = '') {
        if ($where)
            return mysqli_query($this->connection,"delete from ".$table." where ".$where);

        return mysqli_query($this->connection,"delete from ".$table);
    }

    function get($strQuery) {
        if(!$query = mysqli_query($this->connection,$strQuery)) {
            HandleDBError("Error inserting data to the table\query:$query");
        }
        $data = [];
        while($row = mysqli_fetch_assoc($query)) {
            $data[] = $row;
        }
        return $data;
    }
}

&GT;