Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
编辑表中的特定行(SQL和PHP)_Php_Sql_Database_Select_Edit - Fatal编程技术网

编辑表中的特定行(SQL和PHP)

编辑表中的特定行(SQL和PHP),php,sql,database,select,edit,Php,Sql,Database,Select,Edit,我正在用PHP做一个项目,我不知道怎么做 我有一个包含数据库数据的表 我想做的是在表的每一行上都有一个“编辑”按钮,它将把我重定向到另一个页面,我可以在那里编辑和更新这些信息。和一个删除按钮,该按钮将从数据库中删除该数据 我的桌子是: 客户(IdClient、姓名、地址、电话) 例如,我有: 姓名|地址|电话|-编辑按钮|-删除按钮 这是到目前为止我的代码 <?php $db_host = 'localhost'; $db_user = 'root'; $db_pa

我正在用PHP做一个项目,我不知道怎么做

我有一个包含数据库数据的表

我想做的是在表的每一行上都有一个“编辑”按钮,它将把我重定向到另一个页面,我可以在那里编辑和更新这些信息。和一个删除按钮,该按钮将从数据库中删除该数据

我的桌子是:

客户(IdClient、姓名、地址、电话)

例如,我有:

姓名|地址|电话|-编辑按钮|-删除按钮

这是到目前为止我的代码

<?php
    $db_host = 'localhost';
    $db_user = 'root';
    $db_pass = '1234';
    $db_name = "hoteldb";

    $con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
    if ($con->connect_error)
            die('Connect Error (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
    $sql = "SELECT * FROM clients ORDER BY IdClient DESC";
    $result = $con->query($sql);

    ?>
    <table>
        <tr style="font-weight:bold">
        <th>ID</th>
        <th>Name </th>
        <th>Address</th>
        <th>Phone</th>
        </tr>

        <?php
            if ($result->num_rows > 0) {
                 while($row = $result->fetch_assoc()) {
                    echo "<tr>";
                    echo "<td>" . $row["IdClient"] ."</td>";
                    echo "<td>" . $row["Name"]. "</td>";
                    echo "<td>" . $row["Address"] ."</td>";
                    echo "<td>" . $row["Phone"]. "</td>";
                    echo "</tr>";
                 }
            } else {
                 echo "0 results";
            }
            $con->close();
        ?>
    </table>

身份证件
名称
地址
电话

你能帮我一下,告诉我怎么做吗?

你可以添加另一个td,如:

<td><a href="edit.php?id=<?php echo urlencode($row['id']); ?>">Name</a></td>
然后在edit.php页面中调用如下函数:

function find_client_by_id($client_id) {
        global $connection;

$safe_client_id = mysqli_real_escape_string($connection, $client_id);

$query = "SELECT * FROM `clients` WHERE id = {$safe_client_id} LIMIT 1";
$client_set = mysqli_query($connection, $query);
if($client = mysqli_fetch_assoc($client_set)) {
    return $client;
} else {
    return null;
   }
}
require_once('functions.php');
并按如下方式获取客户端id:

$client = find_client_by_id($_GET['id']);
现在,您可以创建表单并调用所有信息,如示例所示:

<input type="text" name="name" value="<?php echo htmlentities($client['name'];) ?>"
$id = $client['id'];
$name = mysqli_real_escape_string($_POST['name']);
$address = mysqli_real_escape_string($_POST['address']);

$query  = "UPDATE clients SET name = '{$name}', ";
$query .= "address = '{$address}' WHERE id = {$id} LIMIT 1";
$result = mysqli_query($connection, $query);
if($result) {
   // do something like success
} else {
   // do something else
}
对于delete,您只需创建delete.php页面并获取客户端id,就像编辑页面一样,如下所示:

<td><a href="delete.php?id=<?php echo urlencode($clients['id']); ?>" onclick="return confirm('are you sure?');">Delete</a></td>

您可以添加其他td,如:

<td><a href="edit.php?id=<?php echo urlencode($row['id']); ?>">Name</a></td>
然后在edit.php页面中调用如下函数:

function find_client_by_id($client_id) {
        global $connection;

$safe_client_id = mysqli_real_escape_string($connection, $client_id);

$query = "SELECT * FROM `clients` WHERE id = {$safe_client_id} LIMIT 1";
$client_set = mysqli_query($connection, $query);
if($client = mysqli_fetch_assoc($client_set)) {
    return $client;
} else {
    return null;
   }
}
require_once('functions.php');
并按如下方式获取客户端id:

$client = find_client_by_id($_GET['id']);
现在,您可以创建表单并调用所有信息,如示例所示:

<input type="text" name="name" value="<?php echo htmlentities($client['name'];) ?>"
$id = $client['id'];
$name = mysqli_real_escape_string($_POST['name']);
$address = mysqli_real_escape_string($_POST['address']);

$query  = "UPDATE clients SET name = '{$name}', ";
$query .= "address = '{$address}' WHERE id = {$id} LIMIT 1";
$result = mysqli_query($connection, $query);
if($result) {
   // do something like success
} else {
   // do something else
}
对于delete,您只需创建delete.php页面并获取客户端id,就像编辑页面一样,如下所示:

<td><a href="delete.php?id=<?php echo urlencode($clients['id']); ?>" onclick="return confirm('are you sure?');">Delete</a></td>

您的代码没有显示任何尝试,您甚至没有添加
编辑
/
删除
的列。您需要什么帮助?需要指出的一点是,如果您的记录集中没有结果,您将尝试回显“0个结果”-但这是在没有行/单元格标记的表中完成的,因此这将是无效的标记。如果是家庭作业,老师会给你打分。如果你的代码显示没有尝试,你甚至没有添加
Edit
/
Delete
的列。您需要什么帮助?需要指出的一点是,如果您的记录集中没有结果,您将尝试回显“0个结果”-但这是在没有行/单元格标记的表中完成的,因此这将是无效的标记。如果是家庭作业,老师会给你打分的。非常感谢!非常有帮助!非常感谢你!非常有帮助!