gpt4 book ai didi

php - 将mysql数据加载到html表单并使用php更新数据

转载 作者:行者123 更新时间:2023-11-29 20:35:16 25 4
gpt4 key购买 nike

我对 mysql 和 php(主要是 mysql)都非常陌生,我什至不确定我是否掌握了所有基础知识,因为我更像是一个边做边学的人。所以我的代码是由网络上不同的解释组成的,其中一些可能是错误的。所以我试图从数据库中获取数据,将其放入 html 表单中,对其进行编辑,然后使用新数据更新数据库。到目前为止,数据已正确加载到表单中,并且经过大量故障排除,我得出的结论是,即使上传也能按预期进行,但字段为空。所以我想我的问题一定是从表单获取数据到更新查询。

这是我的代码

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>

<body>
<?php
require 'connect.php';


$result = $db->query("SELECT * FROM test") or die ($db->error);

while($row = mysqli_fetch_array($result))
{

$name = $row['name'];
$school = $row['school'];
$email = $row['email'];
$grade = $row['grade'];
$workshop = $row['workshop'];
$id = $row['id'];
?>
<form method="post" action="#">
<?=$id?>
<input name="nameid" type="text" value="<?=$name?>">
<input name="emailid" type="text" value="<?=$email?>">
<input name="gradeid" type="text" value="<?=$grade?>">
<input name="workshopid" type="text" value="<?=$workshop?>">
<input name="schoolid" type="text" value="<?=$school?>">
<?php }
session_start();
$_SESSION['storage'] = $_POST;
?>
<input name="update" type="submit" id="update" value="Update">
</form>


<?php
if(isset($_POST['update']))
{

$link = mysqli_connect("localhost", "892847", "123456789", "892847");

// Check connection
if($link === false){
die("Couldn't connect. " . mysqli_connect_error());
}
session_start();

$name = $_SESSION['storage']['nameid'];
$school = $_SESSION['school']['schoolid'];
$email = $_SESSION['email']['emailid'];
$grade = $_SESSION['grade']['gradeid'];
$workshop = $_SESSION['workshop']['grade'];
$id = $_SESSION['id'];


$sql = "UPDATE test SET name = '$name', email = '$email', school = '$school', grade = '$grade', workshop = '$workshop' WHERE id = '8'";
if(mysqli_query($link, $sql)){
echo "Records added successfully. $name";
print_r($_POST['nameid']);
} else{
echo "ERROR: Could not able to execute $sql. " . mysqli_error($link);
}


mysqli_close($link);
}
?>

</body>
</html>

我知道 session 困惑看起来很奇怪,但我在某处读到,信息在 PHP 脚本中不可用,除非您进行 session 。

我真的很感激任何形式的帮助 - 我已经为此奋斗了大约 48 个小时

最佳答案

这是一个基本方法,使用最简单的程序 php。首先,您将数据从 mysql 加载到 php 数组中,假设您已经建立了连接和 id是该特定行的 id

$row = mysql_fetch_array(mysql_query("SELECT * FROM test WHERE `id` = '$id'"));

找到一种方法来确保该页面显示所需的 ID,例如,您可以使用 $id = $_GET[row];在这种情况下,您的网址将是 http://url?row=id在html代码中使用echo如下

<form action="process.php" method="POST">
<input type="hidden" name="id" value="<?php echo $_GET['row']" ?>" >
<input type="text" name="nameid" value="<?php echo $row['nameid'] ?>" >
...
</form>

忘记 session 吧,当您按下提交按钮时,它应该将所有这些数据带入 process.php在全局变量 $_POST 或 $_GET 中,具体取决于您在 <form method> 中选择的方法.

现在在 process.php 中,使用

$nameid = mysql_real_escape_string($_POST['nameid']);
$id = $_POST['id'];
$sql = mysql_query("UPDATE test SET `name_id` = '$nameid' WHERE `id` = '$id'");
if($sql) {
echo "update successful";
}

不用说,两个页面都需要使用数据库连接。

关于php - 将mysql数据加载到html表单并使用php更新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38826749/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com