php - 单击特定图像或文本时在重定向页面中显示相关信息而无需重新加载
问题描述
我想用一个例子来解释我的疑问
假设我有电影数据库,我在每行中存储了与特定电影相关的信息。
假设我的数据库中有两行
1) 泰坦尼克号 1997 浪漫、惊悚
2) 阿凡达 2009 动作、奇幻、浪漫
我有 homepage.php,其中带有文本的电影图像显示为画廊,我有一个 movieinfo.php 页面,其中存在有关电影的所有信息。
前任 :
作品名称:《泰坦尼克号》
发行日期:“1997”
类型:“浪漫、惊悚”
ETC
现在,当我单击泰坦尼克号图像(在我的 homepage.php 中)时,它应该重定向到movieinfo.php 并使用 id 从数据库中获取泰坦尼克号信息,并且应该在双引号“”中显示泰坦尼克号的相关信息(什么都不应该改变在movieinfo.php 中,而不是放在双引号中的那些值)。
当我点击头像图像时也会发生同样的情况
我试图用 php 更改该信息,但它从数据库中获取最后导入的数据并显示该信息。经过一些研究,我发现 AJAX 是可能的,但我绝对是 AJAX 的初学者。需要有人帮助了解逻辑,如果你给我上面的例子的小代码会更有帮助
谢谢
我已经创建了示例代码,以便我可以从您那里获得帮助
可以说这是我的moviedb.php(其中包含电影插入php代码)
<?php
$title = "";
$releaseDate = "";
$Genre = "";
if (isset($_POST['submit-btn'])) {
if (empty($_POST['title'])) {
$errors['title'] = 'Title required';
}
if (empty($_POST['genre'])) {
$errors['genre'] = 'Genre required';
}
if (empty($_POST['releaseDate'])) {
$errors['releaseDate'] = 'Release Date required';
}
$title = $_POST['title'];
$releaseDate = $_POST['releaseDate'];
$genre = $_POST['genre'];
// Check if title already exists
$sql = "SELECT * FROM movie WHERE movie_title='$title' LIMIT 1";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
$errors['title'] = "Title already exists";
}
if (count($errors) === 0) {
$query = "INSERT INTO movie SET movie_title=?, movie_releaseDate=?, movie_genre=?";
$stmt = $conn->prepare($query);
$stmt->bind_param('sss', $title, $releaseDate, $genre);
$result = $stmt->execute();
if ($result) {
$movie_id = $stmt->insert_id;
$stmt->close();
$_SESSION['movie_id'] = $movie_id;
$_SESSION['title'] = $title;
$_SESSION['releaseDate'] = $releaseDate;
$_SESSION['genre'] = $genre;
$_SESSION['message'] = 'Movie has been inserted succesfully!';
header('location: movieinsertion.php');
} else {
$_SESSION['error_msg'] = "Database error: Could not insert movie";
}
}
}
?>
这是movieinsertion.php(其中包含将电影详细信息输入数据库的表格)
<form action="movieinsertion.php" method="post">
<label for="title"><b>Title : </b></label>
<input type="text" placeholder="Enter Title" name="title" required>
<label for="releaseDate"><b>Release Date : </b></label>
<input type="text" placeholder="Enter Release Date" name="releaseDate" required>
<label for="genre"><b>Genre : </b></label>
<input type="text" placeholder="Enter Genre" name="genre" required>
<div class="clearfix">
<button type="submit" class="submitbtn" name="submit-btn" id="submit-btn">Movie insert</button>
</div>
</form>
这是movieinfo.php(显示电影信息的地方)
<p class="movieinfo">
<b style="font-size:20px; color:tomato;"> Title : </b> <?php echo $_SESSION['title']; ?>
<br/>
<b> Release Date : </b> <?php echo $_SESSION['releaseDate']; ?>
<br/>
<b> Genre : </b> <?php echo $_SESSION['genre']; ?>
</p>
这是 homepage.php(使用锚标记放置电影图像的位置)
<div class="movieimg">
<a href = "movieinfo.php"> <img src="assets/image-1.jpg" alt="Titanic" style="width:100%">
<div class="text">Titanic</div></a>
</div>
<div class="movieimg">
<a href = "movieinfo.php"> <img src="assets/image-2.jpg" alt="Avatar" style="width:100%">
<div class="text">Avatar</div></a>
</div>
解决方案
推荐阅读
- excel - 如何在列中复制一个单元格数据,然后将其粘贴,直到另一个值通过 VBA 出现在列中?
- html - 如何仅使用 css 和 html 将图像添加到固定导航栏
- java - 无法使用 java 将 HEIF 或 HEIC 文件转换为 jpeg/png
- angular - Ionic 4 默认菜单被隐藏,如何从图标打开菜单
- javascript - 错误:在配置文件中使用 next-i18next 时出现意外标识符
- scala - 有没有办法从 Shapeless HList 中检索特定元素的 Nat 位置?
- java - 将 Lucene 4.6 升级到 8.0 后,面临来自不同 index_id(存储在不同文件夹中的数据)的 Lucene 查询搜索问题
- apache-kafka - Kafka 消费者组描述命令将某些分区的偏移量显示为“-”
- javascript - 无法设置 ng-model
- jenkins - 当我将代码推送到 bitbucket 时,詹金斯的工作无法自动构建