假设我有一个我想提交的表格。我已经建立了它和表格action=""
。因此,我可以通过以下方式访问发布的数据if(isset($_POST['something']))
示例 form.php(代码未检查,只是为了说明点):
<?php
$result = '';
if (isset($_POST['something']) {
$sql = 'SELECT * FROM aTable WHERE Name = :name';
$stmt = $db->prepare($sql);
$stmt->execute(array(':name' => $_POST['something']);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
}
?>
<form action="" method="post">
<input type="text" name="something" />
<input type="submit" value="post" />
</form>
<div id="result">
<pre>
<?php echo $result; ?>
</pre>
</div>
现在,如果用户启用了 js,我希望使用 jquery/js 处理表单。
我知道该怎么做。但是,我在访问数据库时遇到问题,例如在 2 个 php 文件中运行相同的查询。我的原始表单页面中的一个,当 js 关闭并返回关联的数据数组时使用。然后我有一个 ajaxData.php 它返回 json 但基本上是相同的 sql 查询。
示例 AJAXDATA.php
<?php
$result = '';
if (isset($_POST['something']) {
$sql = 'SELECT * FROM aTable WHERE Name = :name';
$stmt = $db->prepare($sql);
$stmt->execute(array(':name' => $_POST['something']);
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
echo json_encode($result);
}
?>
在我看来,这是低效的,因为我正在编写相同的代码、相同的数据访问等......两次 - 一次用于 form.php,一次用于 ajaxdata.php。
我应该如何构建我的表单/文件,以便 ajax 使用与普通表单提交相同的数据库访问和 sql 代码?