答案和演示
我已经设置了一个php demo,所以你可以看到下面的代码做了什么。
(注意:如果您稍后查看此帖子,演示可能会离线,因为它是我使用的个人免费网站,可能会断开连接)
您可以通过为保存在表格中的每个表单分配一个 id,然后创建另一个 .php page 来获取 id 等于 x id 的表单的表单数据,来做您想做的事情。
所以,假设您保存一个表单:
您还可以自动保存:
然后你会通过这个 url 获得表单信息:
http://www.somewebsite.com/getform.php?id=21894128947
HTML (form.htm)
<form action="process.php" method="post">
Name:<input type="text" name="name"><br>
Description:<textarea name="description"></textarea><br>
<input type="submit" value="Send">
</form>
这是一个简单的form,带有两个input 元素和一个提交按钮。您可以将其更改为您需要的任何输入。
PHP (process.php)
<?php
$servername = "mysqlhost";
$username = "mysqluser";
$password = "mysqlpass";
$dbname = "mysqldatabasename";
$id = rand(0,100000000);
$name = $_POST["name"];
$description = $_POST["description"];
$url = "../getform.php?id=".$id;
//Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO someTable (id,name, description) VALUES ('".$id."','".$name."','".$description."')";
if ($conn->query($sql) === TRUE) {
echo "<a href='".$url."'>".$url."</a>";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
我们为表单分配一个 id(0 到 1000000000 之间的随机数),我们从 $_POST["name"] 变量中获取 name,而 >描述 $_POST["description"]variable.
语法为 $_POST["n"] 其中 n 是您在 HTML 中为元素分配的名称。
然后我们创建一个 mysql 连接并将值 id,name,description 推送到表字段 id,name,description 中。
语法是“INSERT INTO table (field,field,field) VALUES ('value','value','value')" 其中table是表名,field 是表字段名称,value 是您要在该字段中推送的值。
然后我们 echo 或打印自定义表单 url 的链接,这将由 getform.php 文件处理。
SQL 表(在 phpMyAdmin 中)
这是 sql 表在我的服务器的 phpMyAdmin 中的样子。 (您应该创建此表以便代码工作)
PHP (getform.php)
<?php
$servername = "mysqlhost";
$username = "mysqluser";
$password = "mysqlpass";
$dbname = "mysqldatabasename";
$id = $_GET["id"];
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM someTable WHERE id = $id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " .$row["id"]. "<br>";
echo "name: ".$row["name"]."<br>";
echo "description: ".$row["description"]."<br>";
}
} else {
echo "No results with that id";
}
$conn->close();
?>
我们连接到数据库,我们从$_GET["id"] 变量中获得id,它的工作方式几乎与$_POST 完全相同,但在form 中使用get method。
然后我们选择包含我们通过id过滤的表单数据的特定行,其语法是:
"SELECT * FROM table WHERE id = id" 其中table是表名,id是@中提供的id 987654338@.
然后,我们通过Connection->query(sql) 得到查询结果,其中sql 是实际查询。
然后我们检查选择的行数是否大于 0,然后我们使用 while($row = $result->fetch_assoc()) 遍历每一行,其中 $row 是一个包含表中每个字段及其值的数组.
最后我们使用下面的语法来获取一个字段的值:
$row["字段"]
其中 field 是字段名称。
希望这对人有所帮助,如果我没有得到你想要做的事情,对不起:)