我写了一段代码,当用户点击提交按钮时它会向PHP发送一个字符串,然后我的代码将运行一个Mysql查询(基于提交的字符串),然后使用file_put_content
它将上传mysqli_fetch_array
结果到文件。
我想要做的就是不刷新页面,它将值提交给php表单并运行代码,然后向用户显示<a href="export.csv">Download From Here</a>
。
我应该如何使用javascript或jQuery?
if(@$_POST['submit']) {
if (@$_POST['export']) {
$form = $_POST['export'];
echo $form;
$con1 = mysqli_connect("localhost", "root", "", "test_pr");
$sql2 = "SELECT email FROM `my_data` WHERE email LIKE '%$form%'";
$result2 = mysqli_query($con1, $sql2);
$rows = array();
while ($row = mysqli_fetch_array($result2, MYSQLI_ASSOC)) {
$rows[] = $row['email'] . PHP_EOL;
}
$nn = implode("", $rows);
var_dump($rows);
echo $nn . PHP_EOL;
$file = fopen("export.csv", "w");
file_put_contents("export.csv", $nn);
fclose($file);
}
}
?>
<html>
<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method=post>
<input name="export" type="text" value="example" /> Export Address<br/>
<input name="submit" type="submit" value="submit" />
<a href="export.csv">Download From Here</a>
</form>
</html>
答案 0 :(得分:0)
好像你想使用AJAX。
看一下这个问题的接受答案: jQuery AJAX submit form
答案 1 :(得分:0)
假设您知道如何包含jquery,您首先将提交处理程序绑定到提交按钮,(我添加了一个id以使其更容易)并阻止默认的提交操作。然后向处理程序添加一个AJAX post请求。这将发布到您的PHP文件。让该文件回显你的链接,然后让ajax回调函数将它附加到所需的元素。像这样:
<form enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" id="form1" //Add an id to handle with >
<input name="export" type="text" value="example" /> Export Address<br/>
<input name="submit" type="submit" value="submit" />
<a href="export.csv">Download From Here</a>
</form>
<script>
$("#form1").submit(function (event) {
event.preventDefault();
$.post("//path of your php file here",{inputText: $("input[type='text']")},function (returnedString) {
$("#whereToPutReturnedString").append(returnedString);
});
});
</script>
此外,如果您只想在单击按钮时显示链接,请执行以下操作:
<script>
$("input[type='submit']").submit(function () {
$("#idOfElementToPlaceLink").append("<a href="yourlink">Your anchor text</a>");
});
</script>
或者你可以用css或jquery隐藏它并执行$(“#theId”)。show();
如果您需要更多帮助,请大声喊叫!