我是使用PHP和mySQL的新手,所以我完全清楚我可能已经制作了一些非常棒的“菜鸟”。错误。但是,当从上一个下拉列表中选择一个选项时,从mySQL填充我的第二个下拉列表时,我真的很困难。
我已尝试过所有论坛,并尝试过示例脚本,但每次尽管在互联网上尝试不同的示例,我仍然会遇到错误。因此,我希望有人能帮助我。
我试图建立一个小型电影网站,有人可以选择一部电影,然后选择一个日期&时间等等我使用mySQL来填充下拉列表但是当我想填充第二个下拉列表时它会卡住,因为它依赖于第一个选项select。
我尝试过使用AJAX,但无济于事。感谢我可能在这里犯了一些非常新的错误(可能会对变量产生混淆),但如果有人能够解释我错在哪里,我会非常感激。
答案 0 :(得分:0)
您之前选择国家和城市时遇到的问题
这是做这个技巧的好教程
http://www.php-dev-zone.com/2013/10/country-state-city-dropdown-using-ajax.html
答案 1 :(得分:0)
你在getDates.php
上犯了小错误<?php
require("Connect.php");
$name = (!empty($_REQUEST["name"])) ? trim($_REQUEST["name"]) : "");
if (!empty($name)) {
$sql = "SELECT Dates FROM Cinema WHERE name = $name";
try {
$stmt = $DB->prepare($sql);
$stmt->bindValue("tn", trim($name));
$stmt->execute();
$results = $stmt->fetchAll();
} catch (Exception $ex) {
echo($ex->getMessage());
}
if (count($results) > 0) {
?>
<label>Dates:
<select name="Dates">
<?php foreach ($results as $rs) { ?>
<option value="<?php echo $rs["Dates"]; ?></option>
<?php } ?>
</select>
</label>
<?php
}
}
?>
请试试并反馈
答案 2 :(得分:0)
的index.php
<?php
require Connect.php;
?>
<!DOCTYPE html>
<html>
<head>
<title>Films for Family!!</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script type="text/javascript">
function Datesforfilms(sel) {
var name = sel.options[sel.selectedIndex].value;
$("#output1").html("");
$.ajax({
type: "POST",
url: "getDates.php",
data: "name=" + name,
cache: false,
success: function(html) {
$("#output1").html(html);;
}
});
}
</script>
</head>
<body>
<div class="welcome">
<h1>Films for Family</h1>
</div>
<div class="SelectFilm">
<h3> Step 1: </h3>
<p> *Select a film*</p>
<form name="Filmform" method="get">
<select name="Select a Film" onChange="Datesforfilms(this);">
<option value="0">Select a Film</option>
<?php
$sql = "SELECT name FROM company";
$handle = $conn->prepare($sql);
$handle->execute(array($sql));
$res = $handle->fetchAll();
foreach($res as $movie) { ?>
<option value="<?=$movie['name']?>"><?=$movie['name']?></option>
<?php } ?>
</select>
<div id="output1"></div>
</form>
</div>
</body>
</html>
getDates.php
<?php
require("Connect.php");
$name = (!empty($_POST["name"]) ? trim($_POST["name"]) : "");
if (!empty($name)) {
$sql = "SELECT Dates FROM Cinema WHERE name = $name";
try {
$stmt = $DB->prepare($sql);
$stmt->bindValue("tn", trim($name));
$stmt->execute();
$results = $stmt->fetchAll();
} catch (Exception $ex) {
echo($ex->getMessage());
}
if (count($results) > 0) {
?>
<label>Dates:
<select name="Dates">
<?php foreach ($results as $rs) { ?>
<option value="<?php echo $rs["Dates"]; ?>"><?php echo $rs["Dates"]; ?></option>
<?php } ?>
</select>
</label>
<? } ?>
<? } ?>