PHP Notice: Undefined index: duration

215
26 апреля 2019, 19:00

Помогите решить головоломку. 20-30 записей в сек.

PHP Notice: Undefined index: duration on line 80 PHP Notice: Undefined index: duration on line 81

<?php
defined('_VALID') or die('Restricted Access!');
$smarty->assign('shareTitle', $video['title']);
$smarty->assign('shareUrl', $config['BASE_URL'].'/video/'.$video['VID'].'/'.prepare_string($video['title']));
$embed_src=$config['BASE_URL'].'/embed/'.$video['vkey'];
$smarty->assign('embedcode', '<iframe with="640" height="360" src="'.$embed_src.'" frameborder="0" allowfullscreen></iframe>');
require $config['BASE_DIR'].'/include/config.videojs.php';
$smarty->assign('vjs', $videojs);

$video['iphone'] = 1;
if (strpos($video['embed_code'],"youtu")>0) { 
    $isyoutube=true; 
    $smarty->assign('isyoutube', '1'); 
    preg_match("#([\/|\?|&]vi?[\/|=]|youtu\.be\/|embed\/)(\w+)#", $video['embed_code'], $matches);
    $key = end($matches);
    $youtube_url = 'https://www.youtube.com/watch?v='.$key;
    $smarty->assign('youtube_url', $youtube_url); 
}

$js = $config['BASE_DIR'].'/media/videojs/js/anyhtm.js';
    if(file_exists($config['BASE_DIR'].'/vjs_anyad.php') && file_exists($js)) {
        $desktop_ad=1; include('vjs_anyad.php');
        if(isset($anyadjs)) { $smarty->assign('anyad_plugin', '1'); }
    }   


$sql_add        = NULL;
if ( $video['keyword'] ) {
    $keys = explode(" ",$video['keyword']);
    $sql_add   .= " OR (";
    $sql_or     = NULL;    
    foreach ( $keys as $keyword ) {
        if(strlen($keyword)>3) {
            $sql_add .= $sql_or. " keyword LIKE '%" .mysql_real_escape_string($keyword). "%'";
            $sql_or   = " OR ";
        }
    }
    $sql_add   .= ")";
}

$sql_at     = NULL;
$sql_delim  = ' WHERE';
if ( $config['show_private_videos'] == '0' ) {
    $sql_at    .= $sql_delim. " type = 'public'";
    $sql_delim  = ' AND';
}
if ( $config['approve'] == '1' ) {
    $sql_at    .= $sql_delim. " active = '1'";
    $sql_delim  = ' AND';
}
$sql_at        .= $sql_delim;

$sql            = "SELECT VID, title, thumb  FROM video WHERE active = '1' AND VID != " .$video['VID']. " AND ( title LIKE '%" .mysql_real_escape_string($video['title']). "%' " .$sql_add. ") ORDER BY addtime DESC LIMIT 12";

$rs             = $conn->execute($sql);
$videos         = $rs->getrows();

if(count($videos)>2) {
    if(count($videos)>6 && count($videos)<12) $videos=array_slice($videos,0,6);
    if(count($videos)<6) $videos=array_slice($videos,0,3);
    foreach($videos as $vid) {
        $duration = date('i:s',$vid['duration']);
        if($vid['duration']>3600) $duration = date('G:i:s',$vid['duration']);
        $related[] = array('thumb'=>get_thumb_url($vid['VID'])."/".$vid['thumb'].".jpg",'url'=>$config['BASE_URL']. '/video/' .$vid['VID']. '/'.prepare_string($vid['title']),'title'=>$vid['title'],'duration' => $duration);
    }
    $smarty->assign('related', $related);
}
$folder_dir = get_thumb_dir($video['VID']);
$folder_url = get_thumb_url($video['VID']);
$nuevo_slide = $config['BASE_DIR'].'/media/videos/vjsslides/'.floor($video['VID']/1000).'/'.$video['VID'].'_progressthumb.jpg';

if (file_exists($nuevo_slide)) {
    $vjs_slide[] = array('src' => $config['BASE_URL'].'/media/videos/vjsslides/'.floor($video['VID']/1000).'/'.$video['VID'].'_progressthumb.jpg', 'width' => 192, 'height' => 108, 'type' => 'vertical');
    $smarty->assign('vjs_slide', $vjs_slide[0]); 
} elseif (file_exists($folder_dir.'/nvsprite.jpg')) {
    $vjs_slide[] = array('src' => $folder_url.'/nvsprite.jpg', 'width' => 192, 'height' => 108, 'type' => 'horizontal');
    $smarty->assign('vjs_slide', $vjs_slide[0]); 
} 
?>
Answer 1

В запросе пишете

SELECT VID, title, thumb  FROM video ....

поле duration в запросе отсутствует, а потом пытаетесь его получить

date('G:i:s',$vid['duration'])

соответственно выскакивает уведомление, что такого индекса в массиве нет

READ ALSO
Как подружить Docker и apache?

Как подружить Docker и apache?

Всем привет, пытаюсь разобраться в PHP, apache и сопутствующемСмотрю уроки

191
Максимальное значение

Максимальное значение

Нужна помощьЕсть такой код(опроса):

182
Форма в форме php

Форма в форме php

Подскажите пожалуйста, какие есть альтернативы форма в форме phpЕсть форма, которая тянется через всю страницу, как в этой форме сделать еще...

163