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

时间:2017-09-10 14:39:18

标签: php html arrays foreach echo

我有一个人们可以上传视频的网站,如果用户上传视频,则会在其文件夹中创建一个名为videos的新文件夹,例如user/Someone/videos/videonamevideos文件夹中有用户上传的所有视频。然后它将视频插入数据库。这很好,但是当我尝试在HTML video标签中回显这些视频时,我遇到了问题。由于用户可以上传更多视频,因此我创建了一个名为array的{​​{1}}。然后,我选择属于该用户的$urlvideos)。然后我将每个视频项目推送到$sql = "SELECT * FROM videos WHERE user=?";数组,然后使用$url循环回显视频。这有些不对劲。有重复,所以一个视频会回复更多次,并且丢失了网址。

代码:

foreach

PS:也许$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>'; } } 变量也应该是一个数组但是我无法将数组推送到另一个数组。

1 个答案:

答案 0 :(得分:1)

为什么不简单地回显文件名

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