gpt4 book ai didi

php - 检索连接三个表的外键值

转载 作者:行者123 更新时间:2023-11-30 22:28:55 25 4
gpt4 key购买 nike

我有三个数据库表:大厅、电影和放映,如下所示。 database tables

在我的放映表中,我将 movie_id 和 hall_id 作为外键,分别引用表 movie 和 hall。

在我的添加详细信息表单中添加放映的详细信息时,我想显示一个下拉菜单,分别显示来自桌面大厅和电影的可用电影标题和大厅标题。

但是在我提交表格后,我想要各个电影和大厅的 ID,而不是它们的标题保存在放映表中。

我如何在 PHP 中实现这一点?

我就这样加入了三张表。

$sql="SELECT scr_id,scr_date,scr_start,scr_end,m.movie_id,h.hall_id 
FROM screening as scr
join movie as m on scr.movie_id=m.movie_id
join halls as h on scr.hall_id=h.hall_id";

这是我的添加详细信息表单: add detail form

这是我用来添加详细信息的表格。我对前两个元素进行了评论,因为我无法推导出添加这些元素的逻辑。

<?php
if(isset($_GET['action'])&&$_GET['action']=="add")
{

?>
<div class="cover">
<h1>Add Schedule</h1>

<form action="scheduleact.php" method="post">
<!-- <label for="title">Movie Title</label><input type="text" name="title" value=""/>
<label for="hall">Hall</label><input type="text" name="hall" value=""/> -->
<label for="date">Date</label><input type="date" name="date"/>
<label for="start">Start Time</label><input type="time" name="start"/>
<label for="end">End Time</label><input type="time" name="end"/>
<p><input type="submit" name="addschedule" value="submit"/></p>
</form>
</div>
<?php
}
?>

这是 scheduleact.php

function addschedule($date,$start,$end)
{
$sql="insert into screening (movie_id,hall_id,scr_date,scr_start,scr_end) values ('$movid','$hallid',$date','$start','$end')";
$this->exeQuery($sql) or die(mysql_error());
}
<?php
include_once("../class/db_inc.php");

if(isset($_POST['addschedule'])&&($_POST['addschedule']=='submit'))
{
//$movid=$_POST[''];
//$hallid=$_POST[''];
$date=$_POST['date'];
$start=$_POST['start'];
$end=$_POST['end'];
$schedule->addschedule($date,$start,$end);
echo "<script>alert('added successfully');</script>";
echo "<script>window.location='index.php?obj=viewschedule';</script>";
}
?>

最佳答案

我认为将表格连接在一起并不是填充下拉菜单所需的方法。您可以执行两个单独的查询,一个用于电影,一个用于音乐厅。这是一个一般的例子。有一些遗漏的部分,因为我不知道你用什么来运行你的查询,但希望这能给你一个大概的想法。

<select name="movie_id">
<?php
$movies_sql = 'SELECT movie_id, movie_title FROM movie';
//execute your query
while ($row = $query_result->fetch) {
echo "<option value=\"$row[movie_id]\">$row[movie_title]</option>";
}
?>
</select>

<select name="hall_id">
<?php
$halls_sql = 'SELECT hall_id, hall_title FROM halls';
//execute your query
while ($row = $query_result->fetch) {
echo "<option value=\"$row[hall_id]\">$row[hall_title]</option>";
}
?>
</select>

主要是在检索已经存储的放映记录,并希望包含相关信息(电影和厅)时,需要加入表。

关于php - 检索连接三个表的外键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422269/

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