我试图从视频数据库中获取链接,视频从具有可点击锚标记的搜索表单中显示,源在“链接”下保存到数据库中。我可以显示视频,但我在数据库中显示该视频链接中的链接时遇到问题。这是代码
<?php
$names = array();
$link = array();
if(isset($_POST['searchterm'])) {
mysql_connect("localhost", "root", "Oliver");
mysql_select_db("videos");
$search = mysql_real_escape_string(trim($_POST['searchterm']));
$find_videos = mysql_query("SELECT * FROM `videos` WHERE `keywords` LIKE'%$search%'");
while ($row = mysql_fetch_assoc($find_videos)) {
$names[] = $row['name'];
$link[] = $row['link'];
}
}
include('session.php');
?>
<!DOCTYPE html>
<html>
<head>
<link href="http://vjs.zencdn.net/4.12/video-js.css" rel="stylesheet">
<link rel="icon" type="image/ico" href="images/favicon.ico">
<script src="http://vjs.zencdn.net/4.12/video.js"></script>
<link href="http://vjs.zencdn.net/4.12/video-js.css" rel="stylesheet">
<script src="http://vjs.zencdn.net/4.12/video.js"></script>
<style type="text/css">
.vjs-default-skin .vjs-control-bar { font-size: 125% }
</style>
<meta charset="utf-8">
<title>Network TV | search</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/bootstrap.css" />
<link href="css/font-awesome.css" rel="stylesheet" />
<link href="css/3.1.1/animate.css" rel="stylesheet" />
<link rel="stylesheet" href="css/styles.css" />
</head>
<body style="overflow-x: hidden">
<nav class="navbar navbar-default navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">Network TV</a>
</div>
<div id="navbar" class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class=""><a href="\1\index.php">Home</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<section style="padding-top:100px; width:100%"class="container-fluid" id="section2">
<h1 class="text-center" style="color:white">Network TV</h1>
<h3 class="text-center" style="color:white"><u>Search results</u></h3>
<table align="center" class="table" style="color: white; width:50%">
<thead>
<tr>
<th>Movie name</th>
</tr>
</thead>
<tbody>
<tr>
<?php
foreach($names as $name) {
echo '<tr>
<td>' . $name . '</td>
<td><a href="' .$link. '"><strong><h6><u>Watch!</u></h6></strong></a></td>
</tr>';
}
?>
</tr>
</tbody>
</table>
</section>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="js/scripts.js"></script>
</html>
更新 完整错误:
注意:第79行的C:\ xampp \ htdocs \ 1 \ search.php中的数组到字符串转换
非常感谢任何帮助。
答案 0 :(得分:1)
这将解决问题:
for($i=0; $i<count($link); $i++){
echo '<tr><td>' . $name[$i] . '</td><td><a href="' .$link[$i]. '"><strong><h6><u>Watch!</u></h6></strong></a></td> </tr>';
}
答案 1 :(得分:0)
尝试以这种方式更改for循环,
<?php
$i=0;
foreach($names as $name) {
echo '<tr>
<td>' . $name . '</td>
<td><a href="' .$link[$i]. '"><strong><h6><u>Watch!</u></h6></strong></a></td></tr>';
$i++;
}
?>
答案 2 :(得分:0)
我认为您忘记了$link
var是一个数组,您保存了视频链接,这就是您收到错误的原因。
为了避免这种情况,您可以使用for
循环来获取视频的名称和链接,如下所示:
for($i = 0; $i < count($names); $i++)
{
echo '<tr>'
.'<td>' . $names[$i] . '</td>'
.'<td><a href="' . $links[$i] . '"> Watch! </a></td>'
.'</tr>';
}
或者您只能使用一个数组来保存数据,如下所示:
// ...
while ($row = mysql_fetch_assoc($find_videos)) {
$videos[] = ['name' => $row['name'], 'link' => $row['link']];
// if you don't want to use indexes, you can simply do :
// $videos[] = [$row['name'], $row['link']];
}
然后
foreach ($videos as $video) {
echo '<tr>'
.'<td>' . $video['name'] . '</td>'
.'<td><a href="' . $video['link'] . '"> Watch! </a></td>'
.'</tr>';
}
希望可以提供帮助。