gpt4 book ai didi

javascript - 将 jQuery 自动完成的值发送回 PHP

转载 作者:行者123 更新时间:2023-11-30 00:41:37 26 4
gpt4 key购买 nike

我遇到了一点困难,希望得到任何帮助。

简介简而言之(我希望):我正在创建一个网站(目前仅限本地),其中存储了城市名称和一些重要/有趣的值(例如人口、时间、货币)。我使用 MySQL 数据库来存储数据。其中三个表与本例相关: 表 1. 将城市存储为值。表2.存储相关数据的“标题”(人口、当前时间、货币)。第三个表是实际值(100 000,12:30,欧元)。我使用 php 在数据库和 html 之间进行通信。

期望的结果:搜索框用于查找感兴趣的城市。网页在页面顶部打印所选城市,并在两个 div 内打印该城市的一些相关数据。

问题如何将自动完成的值返回给 php,以便根据选择在同一页面上进行三个不同的 SQL 查询?

我读到您可以使用 php 文件作为自动完成的源(现在在一个数组上,从数据库存储的值),并且自动完成可以以某种方式根据用户的选择检索其他数据。但是如果我不使用任何其他 jquery-ui 组件,它会起作用吗?它实际上是如何用代码编写的?

编辑

我很快读到:

  1. 以 POST 方式发送,但可以在同一页面中完成吗?
  2. 使用 session
  3. 使用 AJAX

什么是最容易/最好理解/使用的?

还有其他建议吗?/帮助?/提示?

此时我的堆栈已溢出。

摘要

什么是一种简单易学且正确的方法来处理从 javascript/jQuery 返回到 PHP 的通信,同时保持在同一页面上?

代码

<?php
require_once "dataPDO.php"; //All of the sql-queries
$databaseHandler = new dataPDO();
$list=$databaseHandler->allCities(); //a list of all the cities
?>
<!doctype html>
<html>
<head>
<title>Choose a city</title>
<meta charset="utf-8">

<!-- needed by autocomplete -->
<link rel="stylesheet" href="js/jquery.ui.all.css">
<script src="js/jquery-1.10.2.js"></script>
<script src="js/jquery.ui.core.js"></script>
<script src="js/jquery.ui.widget.js"></script>
<script src="js/jquery.ui.position.js"></script>
<script src="js/jquery.ui.menu.js"></script>
<script src="js/jquery.ui.autocomplete.js"></script>

<script>
$(function() {
var names=<?php echo json_encode($list); ?>;
$("#cities").autocomplete({
source: names, minLength: 2
});
});
$(document).ready(function () {
$('#cities').on('autocompletechange change', function () {
var data = $('#city').html('Chosen city: ' + this.value);
}).change();
});
</script>
</head>
<body>
<div>
<div class="ui-widget">
<label for="cities">Search for a city:</label>
<input id="cities">
<div id="city"></div>
</div>
</div>
<div>
<section class="left">
<?php
try {
$databaseHandler->information(1);//(hardcoded) information belonging to the first city
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>

</section>
<section class="right">
<?php
try {
$databaseHandler->values(1);//(hardcoded) information values belonging to the first city
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
</section>
</div>
</body>

最佳答案

您当然不需要使用 JQuery 或其他框架,但是,它确实使执行这些类型的操作变得更加容易。由于这个原因,RyanS 关于使用 JQuery 的评论很有意义。您只是在重新发明轮子。

基本上,该过程将创建一个 PHP 文件,该文件通过 GET 或 POST 获取一些参数,然后使用这些参数来显示数据。准备好该文件后,您可以使用 Javascript 触发事件来调用该 PHP 脚本。例如,您可以说,当有人从下拉菜单中选择一个值时,然后将这些参数传递给 PHP 脚本,并将输出显示到与下拉菜单位于同一页面上的 div 中。

关于javascript - 将 jQuery 自动完成的值发送回 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21730381/

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