我有点陷入困境,并希望得到任何帮助。
简介 简而言之(我希望):我正在创建一个网站(目前只在本地),它存储了城市名称和一些重要/有趣的值(例如人口,时间,货币)。我使用MySQL数据库来存储数据。其中三个表格与此案例相关:表1.将城市存储为值。表2.存储相关数据的“标题”(人口,当前时间,货币)。第三个表是实际值(10万,12:30,欧元)。我正在使用php在数据库和html之间进行通信。
期望的结果: 搜索框用于查找感兴趣的城市。网页在页面顶部打印选定的城市,并在两个div中打印城市的一些相关数据。
问题 我怎样才能将自动完成的值返回到php,以便根据选择在同一页面上进行三种不同的SQL查询?
我读到你可以使用php -file作为自动完成的源(现在在数组中,从数据库中存储的值),并且某种程度上自动完成可以根据用户的选择检索其他数据。但如果我不使用任何其他jquery-ui组件,它会工作吗?它将如何实际写入代码?
修改
我很快就读到了:
最简单/最易理解/使用的是什么?
还有其他建议吗?/ help?/ tips?
此时我的堆栈已经溢出。
摘要
在同一页面上处理从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>
答案 0 :(得分:0)
您当然不需要使用JQuery或其他框架,但是,确实可以使这些类型的事情变得更容易。由于这个原因,RyanS关于使用JQuery的评论很有意义。你只需要重新发明轮子。
基本上,该过程将创建一个PHP文件,通过GET或POST获取一些参数,然后使用这些参数来显示数据。一旦准备好该文件,就可以使用Javascript触发事件来调用该PHP脚本。例如,您可以说某人从下拉菜单中选择一个值,然后将这些参数传递给PHP脚本,并将输出从那里显示到与下拉菜单位于同一页面的div中。