php - php 实时表单提交
问题描述
让我解释一下我想要什么。
我想在输入时使用 db add 在列表中添加一个值,而无需更改页面form
,然后单击submit
。
但是在这段代码中,我必须再刷新一次才能添加,并且一次也添加了两次。
我怎样才能做到这一点?
<?php
$conn = mysqli_connect('127.0.0.1','MYID','MYPASS','MYDB');
$sql = "SELECT * FROM MYTABLE";
$rs = mysqli_query($conn, $sql);
$list = '';
while($row = mysqli_fetch_array($rs)) {
$list = $list."<li><a href=\"index.php?id={$row['id']}\">{$row['title']}</a></li>";
}
$article = array(
'title' => 'Welcome!',
'description' => 'Hello, Web!'
);
if (isset($_GET['id'])){
$filtered_id = mysqli_real_escape_string($conn, $_GET['id']);
$sql = "SELECT * FROM topic WHERE id={$filtered_id}";
$rs = mysqli_query($conn, $sql);
$row = mysqli_fetch_array($rs);
$article['title'] = $row['title'];
$article['description'] = $row['description'];
}
if ($_POST['title'] != null){
$sql_in = "INSERT INTO topic (title, description, created) VALUES ('{$_POST['title']}', '{$_POST['description']}', NOW())";
$rs_in = mysqli_query($conn, $sql_in);
if ($rs_in === false) {
$msg = mysqli_error($conn);
} else {
$msg = 'Success.';
}
} else {
$msg = 'Fill in';
}
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>WEB</title>
</head>
<body>
<h1><a href="index.php">WEB</a></h1>
<ol>
<?=$list?>
</ol>
<details>
<summary>Create</summary>
<form action="./index.php" method="POST">
<p><input type="txt" name="title" placeholder="title"></p>
<p><textarea name="description" placeholder="description"></textarea></p>
<p><input type="submit"></p>
<p><?=$msg?></p>
</form>
</details>
</body>
</html>
<h2><?=$article['title']?></h2>
<?=$article['description']?>
</body>
</html>
解决方案
在 php 中,实时不是一件事,但有一种解决方法,您可以使用推送器https://pusher.com/docs之类的事件服务并立即在客户端接收事件。
还有其他网站提供此功能,因此在选择它们之前进行搜索,您也可以随时在 node.js、c#、go 中构建您的事件服务器
推荐阅读
- php - 在 SQL 查询中使用带计数的 DISTINCT 关键字
- python - 如何在 Python 中插入 2D 曲线
- javascript - Angular 6 表单在提交和重置后返回验证错误
- c# - request.getResponse() 出现错误
- ansible - 从剧本访问 local_tmp
- java - 将pdf文件从服务器发送到客户端
- python - Python MySQL,这是一个准备好的语句吗?
- javascript - 显示具有条件值的重复 html 元素
- c# - 我想在没有任何功能的情况下在 C# 中按升序对矩阵进行排序
- python-3.x - 类调用在 BeautifulSoup 中不起作用