php - 在 while 循环中使用 foreach 循环并回显值

标签 php html arrays foreach echo

我有一个网站,人们可以在上面上传他们的视频,如果用户上传视频,它会在他们的文件夹中创建一个名为 videos 的新文件夹,例如user/Someone/videos/videoname 并且在 videos 文件夹中有用户上传的所有视频。然后它将视频插入数据库。这很好用,但是当我尝试在 HTML video 标签中回显这些视频时,我遇到了问题。由于用户可以上传更多视频,我创建了一个名为 $urlarray。然后我选择那些属于该用户的 videos ($sql = "SELECT * FROM videos WHERE user=?";)。然后,我将每个视频项推送到该 $url 数组,并使用 foreach 循环回显视频。这里出了点问题。存在重复,因此一个视频将被回显更多次并且缺少网址。

代码:

$echo_videos = "";
$items = "";
$url = array();
$sql = "SELECT * FROM videos WHERE user=?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("s",$u);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()){
    $name = $row["video_file"];
    $items .= "user/$u/videos/$name";
    array_push($url, $items);
    foreach ($url as $key) {
        $echo_videos .= '<video width="400" controls><source src="'.$key.'"></video>';
    }
}

PS:也许 $items 变量也应该是一个数组,但这样我就无法将一个数组推送到另一个数组。

最佳答案

为什么不直接回显文件名

while($row = $result->fetch_assoc()){
   echo '<video width="400" controls><source src="user/'.$u.'/videos/'. $row["video_file"].'">
         </video>';
}

关于php - 在 while 循环中使用 foreach 循环并回显值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46141891/

相关文章:

php - 为什么我的查询没有更新?

html - 有没有一种工具可以找到受某些 css 文件影响的 html 元素

javascript - ngModel 绑定(bind)未触发 Angular 输入事件

c - 与数字进行比较是否总是需要 ASCII 格式?

php - 如何在不使用爆炸的情况下比较范围编号中的数据

php - 分页。为什么只显示一页?

php - 如何使用 HTML 5 从 Torrent 流式传输视频?

c# - Windows形成不同的类,试图改变textbox.text

python - 计算 numpy 数组中的出现次数

php - 我无法在 Bootstrap 中获取有错误文本字段