Php 使用jquery滑块时,单个视频本身不会显示在屏幕上
这里有一个应用程序,我在基本jquery滑块中使用jwplayer: 基本jquery滑块的信息如下: 这就是我发现的,如果一个滑块包含多个视频,那么它会显示滑块,但是如果一个滑块只有一个视频,它不会显示视频或滑块 现在奇怪的是,如果我用视频替换图像,那么如果我有一个图像,它就可以工作,因为它不显示滑块,而是显示图像,这很好。但我的问题是如何对视频做同样的事情 下面是带图像的滑块演示: 下面是视频和滑块的代码:Php 使用jquery滑块时,单个视频本身不会显示在屏幕上,php,javascript,jquery,Php,Javascript,Jquery,这里有一个应用程序,我在基本jquery滑块中使用jwplayer: 基本jquery滑块的信息如下: 这就是我发现的,如果一个滑块包含多个视频,那么它会显示滑块,但是如果一个滑块只有一个视频,它不会显示视频或滑块 现在奇怪的是,如果我用视频替换图像,那么如果我有一个图像,它就可以工作,因为它不显示滑块,而是显示图像,这很好。但我的问题是如何对视频做同样的事情 下面是带图像的滑块演示: 下面是视频和滑块的代码: $vidquery = "SELECT s.SessionId, q.Qu
$vidquery = "SELECT s.SessionId, q.QuestionId, v.VideoId, VideoFile
FROM Session s
INNER JOIN Question q ON s.SessionId = q.SessionId
INNER JOIN Video_Question vq ON q.QuestionId = vq.QuestionId
INNER JOIN Video v ON vq.VideoId = v.VideoId
WHERE s.SessionId = ?";
$vidqrystmt=$mysqli->prepare($vidquery);
// You only need to call bind_param once
$vidqrystmt->bind_param("i",$session);
// get result and assign variables (prefix with db)
$vidqrystmt->execute();
$vidqrystmt->bind_result($vidSessionId,$vidQuestionId,$vidVideoId,$vidVideoFile);
$arrVideoFile = array();
while ($vidqrystmt->fetch()) {
$arrVideoFile[ $vidQuestionId ][] = basename($vidVideoFile);
}
$vidqrystmt->close();
?>
<form action='results.php' method='post' id='exam'>
<?php
//start:procedure video
$vid_result = '';
if(empty($arrVideoFile[$key])){
$vid_result = ' ';
}else{
?>
<div id="banner-video_<?php echo $key; ?>">
<ul class="bjqs">
<?php
$i = 0;
foreach ($arrVideoFile[$key] as $v) { ?>
<li><div id="myElement-<?php echo $key.'-'.$i; ?>">Loading the player...
<script type="text/javascript">
jwplayer("myElement-<?php echo $key.'-'.$i; ?>").setup({
file: "<?php echo 'VideoFiles/'.$v; ?>",
width: 480,
height: 270
});
<?php $i++; ?>
</script>
</div>
</li>
<?php } ?>
</ul>
</div>
<script type="text/javascript">
jQuery(document).ready(function($) {
$('#banner-video_<?php echo $key; ?>').bjqs({
animtype : 'slide',
height : 300,
width : 700,
responsive : true,
randomstart : false,
automatic : false
});
});
</script>
<?php
}
//end:procedure video
?>
</div>
</form>
$vidquery=“选择s.SessionId、q.QuestionId、v.VideoId、VideoFile
来自会话s
s.SessionId=q.SessionId上的内部连接问题q
内部连接视频\u q.QuestionId=vq.QuestionId上的问题vq
vq.VideoId=v.VideoId上的内部连接视频v
其中s.SessionId=?”;
$vidqrystmt=$mysqli->prepare($vidquery);
//您只需要调用bind_param一次
$vidqrystmt->bind_参数(“i”,$session);
//获取结果并分配变量(前缀为db)
$vidqrystmt->execute();
$vidqrystmt->bind_result($vidSessionId、$vidQuestionId、$VidVidVideoID、$VideoFile);
$arrVideoFile=array();
而($vidqrystmt->fetch()){
$arrVideoFile[$vidQuestionId][]=basename($vidideofile);
}
$vidqrystmt->close();
?>
我想说的是,在你的例子中,它看起来像是你所有的滑块,它将一个图像或视频滑动到上面,并显示下一个或上一个,但是如果你只有一个项目,为什么不完全跳过所有这些呢
您有一个数组:$arrVideoFile
您可以使用count($arrVideoFile)
以获取数组中的总值
所以
if(count($arrVideoFile)!=0 | |$arrVideoFile)!=1)
{
//做你贴在上面的东西
}
其他的
{
//if(array==0)可能会显示默认图像
//如果(array==1),让我们展示一下
//如果图像显示如果视频显示或在您的情况下
//您是否在填充$arrVideoFile之前将其初始化为数组?例如:$arrVideoFile=array();
脚本是否产生任何错误?@starshine531抱歉,没有看到您的评论,脚本没有任何错误,我确实有$arrVideoFile=array()
,我更新了代码,以表明这并不能完全解决您的问题,但为什么不检测它是否是一个对象,而不是将其放在滑块中?@Goddard如果您知道如何编写此代码,那么我将非常高兴以这种方式执行,并非常感谢
if(count($arrVideoFile) != 0 || $arrVideoFile) != 1)
{
//do the stuff you pasted above
}
else
{
//if(array == 0) maybe show a default image
//if(array == 1) lets just show that
//if image show <img> if video show <object> or in your case
//<div id="myElement-<?php echo $key.'-0'; ?>"></div>
}