- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 PHP 新手,在使用下拉菜单进行排序时遇到了一些问题。
我有一个电影页面已经按类型排序,在该页面中我希望能够按标题、评级和年份排序,但我不知道该怎么做。
在索引页中,我能够轻松地对电影进行排序,因为它们尚未按类型排序,所以我只需要输入 ORDER BY something
在查询中,它返回了我想要的内容。
现在的问题是我必须检查当时选择了哪种流派并将其与我从下拉列表中选择的内容相关联,但我不知道该怎么做...
我不知道这是否足够明确,但如果您有任何疑问,请问我...
我从此处的现有问题中复制了以下代码:
<form class="sortby_form" action="">
<div class="sortby" method="POST">
<select name="sort_by" class="drop-box">
<option selected hidden <?php if(isset($_POST['sort_by']) && $_POST['sort_by'] == 'option') echo 'selected="selected"'; ?> value="option">Sort by</option>
<option <?php if(isset($_POST['sort_by']) && $_POST['sort_by'] == 'title') echo 'selected="selected"'; ?> value="title">Title</option>
<option <?php if(isset($_POST['sort_by']) && $_POST['sort_by'] == 'year') echo 'selected="selected"'; ?> value="year">Year</option>
<option <?php if(isset($_POST['sort_by']) && $_POST['sort_by'] == 'rating') echo 'selected="selected"'; ?> value="rating">Rating</option>
</select>
</div>
<form>
这是我的代码,它返回按流派排序的电影:
<?php
if (isset($_REQUEST["g"])) {
$g = $_REQUEST["g"];
} else {
$g=0;}
$q_sortg = "SELECT id_movie, title, image, plot, rating, id_genre, genre
FROM movie_genre AS mg
INNER JOIN movie AS m ON mg.movie_id_movie = m.id_movie
INNER JOIN genre AS g ON mg.genre_id_genre = g.id_genre
WHERE id_genre = '$g'";
$r_sortg = mysqli_query($dbc, $q_sortg);
$i=0;
echo '<div class="row row-eq-height">';
while ($row_sortg = mysqli_fetch_array($r_sortg)) {
if($row_sortg['id_genre'] == $g) {
echo '<div class="col-sm-3 col-lg-3 col-md-3 column">';
echo '<div class="thumbnail movie-box">';
echo '<a href="movies_info.php?m='.$row_sortg['id_movie'].'"><img src="data:image/jpg;base64,'.base64_encode($row_sortg['image']).'" width="250px" height="300px" /></a>';
echo '<div class="caption">';
echo "<h4 class=\"title-subs\"><a href='movies_info.php?m=".$row_sortg['id_movie']."'>".$row_sortg['title']."</a></h4>";
echo "<p class=\"title-subs\">".$row_sortg['plot']."</p>";
echo "</div>";
echo '<div class="ratings align-center">';
echo '<p>';
$ratings = $row_sortg['rating'];
$rates = array('$row_sortg' => $ratings);
foreach ($rates as $r => $value) {
if($value <= 1.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 2.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 3.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 4.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 5.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 6.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 7.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 8.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-o" aria-hidden="true"></i>';
}
else if($value <= 9.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star-half-o" aria-hidden="true"></i>';
}
else if($value <= 10.0){
echo '<p>'.$value.'</p>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
echo '<i class="fa fa-star" aria-hidden="true"></i>';
}
}//fecha o foreach
echo '</p>';
echo '</div>';
echo "</div>";
echo "</div>";
$i++;
if ($i%4 == 0){
echo '</div><div class="row row-eq-height">';
} //fecha o if
} //fecha o While
}
?>
这是当前网站的链接: http://www.zoomlab.pt/2016-web2/pub/grupo4/index.php
在出现的第一页中,可以毫无问题地进行排序。问题是当您单击左栏中的一种类型时。它们似乎按流派排序,然后我无法按排序方式工作...
我最初尝试使用 bootstrap 下拉菜单,但它使用了 <li><a>
而不是 <select>
和 <option>
, 所以我不知道这是否可能。
在此先感谢您提供的任何帮助。
最佳答案
看起来您只需要在用户更改排序选项后重新提交表单?如果是这样,您需要使用 JavaScript 添加 onchange
您的 <select>
上的事件,这将重新提交表单:
<script>
window.addEventListener('DOMContentLoaded', function () {
var form = document.querySelector('form.sortby_form'),
select = form.querySelector('select[name="sort_by"]');
select.addEventListener('change', function () {
form.submit();
});
});
</script>
此外,如果这是用于生产网站,您真的不应该将原始用户输入用作 SQL 查询的一部分。请参阅:http://php.net/manual/en/mysqli-stmt.bind-param.php
关于php - 使用下拉菜单对电影进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37556205/
问题是什么? 我在 Pythonanywhere.com 上运行 This error can be due to the fact that ImageMagick is not installed
我目前正在设计一个电影数据库。我目前有一个包含电影标题、长度等的电影表。然后我有一个类型转换。我在这些之间有一个与 filmid 和 actorid 之间的联结表。这将包含在影片中扮演角色的所有 Ac
所以,我有一个包含 3 个表和相关列的数据库: 标签:TID、标签名称 电影:MID、movie_title tags_to_movies:电影 ID、标签 ID 如何选择至少具有我想要的标签的电影。
我的程序在 GNUPlot 中生成了 100 个图。我想将它们连接成一部短片,其中每个情节约为 0.1 秒。我怎样才能最有效地做到这一点? 我能想到的效率最低的方法是拍摄每个情节的屏幕截图,以某种方式
我正在使用 ffmpeg 剪切视频文件: ffmpeg - -ss 00:00:00 -t 00:00:30 不包括 *.avi 格式的不同文件格式是可以的。对于 avi 电影,ffmpeg 显示视
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 4年前关闭。 Improve thi
是否有任何方法可以模拟视频应用程序,以便我们仍然保持对设备(iPad/iPhone)的控制,但通过电缆将视频发送到电视?我研究了屏幕镜像,但它对于视频来说太慢了,而且无论如何,Apple 不再允许屏幕
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我正在开发 Windows 服务,我的 Windows 服务使用“ffmpeg”,同时我正在开发用于测试代码的桌面应用程序。 我想在我的视频中导入水印。我可以用我的桌面应用程序做到这一点。但是当我运行
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
我正在编写一个Mac应用程序,可以将不同来源的视频下载到本地硬盘。到目前为止效果很好,但我想允许用户在下载这些视频时播放这些视频。浏览 QTKit 的文档,我找不到任何方法可以让我将电影数据分段提供给
我已经尝试通过另一个用户的建议,使用嵌入 Flash 的 swfobject 方法。然而,我一定没有那么聪明。 下面是我想出的怪物,但没有电影播放,当我控制+单击(Mac)时,我什至无法将它区分为 F
已关闭。此问题旨在寻求有关书籍、工具、软件库等的建议。它不符合 Stack Overflow guidelines 。它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题
我注意到 GIF 并不是真正兼容所有浏览器,所以我一直在使用电影。直到现在一直在寻找。我有一个带有用 css 编写的背景图片的网站。我觉得这行不通,但我尝试像链接图像一样链接电影,但它甚至没有出现。下
有人知道是否有可能(在 PHP 中)从服务器上的 quicktime 电影中获取帧/缩略图吗? 类似于通常的 GD 缩略图生成,但用于 .mov 文件。 注意:我使用的是 dreamhost,所以我只
我需要根据一系列生成的图像制作一部电影。 (我正在根据物理建模程序的输出创建图像。) 我在 QtKitCreateMovie 中找到了 Apple 的示例,并将其用作起点。我没有从应用程序包中加载 j
我想创建具有 2 个 View 的非常简单的应用程序:-> 列出一些标签-> 带电影的单 View 每个标签都连接到一个 flash 电影。这部电影将在我自己的网络服务器上。我想在我的应用程序中与一些
将 JSON 传入和传出 Flash 电影的最佳方式是什么? 目前在 javascript 和 Flash 之间进行通信: 我正在使用“flashvars”在最初加载时将数据传递给 Flash 电影
我正在开发一个 chromecast 发送器应用程序,我希望在其中启动 Netflix 并播放请求的电影。但是,我只能设法启动 Netflix 应用程序,但它不会加载视频,因为我不确定需要随请求发送哪
因此,当我尝试访问我的应用程序上的电影页面时出现以下错误: ActionController::ParameterMissing (param is missing or the value is e
我是一名优秀的程序员,十分优秀!