早上好
,我最近一直在努力解决这个问题,因为我对 PHP 和 MySQL 还很陌生。我有一个带有“视频”表的数据库,我在其中存储了有关视频的有用信息,并且我有一个名为 search.php 的文档,该文档将根据 GET 请求显示特定视频。请求看起来像这样:
http://example.ex/search.php?tag=EXAMPLE1
逻辑是像这样存储标签值:
if(!empty($_GET["tag"])){
// Get videos from tag only
$curTag = strval($_GET["tag"]);
displayByTag($curTag); //the function that parse the database
}
我已准备好连接:
$server = "localhost";
$username = "root";
$password = "";
$db = "mydatabase";
$conn = mysqli_connect($server, $username, $password, $db);
$query = "SELECT * FROM videos";
$response = array();
$result = mysqli_query($conn, $query);
while($row = mysqli_fetch_array($result)) {
$response[] = $row;
}
从技术上讲,截至目前,我的表存储在里面$response[].
我需要做的是解析数据库并查找“标签”列,拆分其字符串值(表中的“EXAMPLE1,EXAMPLE2,EXAMPLE3”),然后查看是否GET 值匹配其中之一。
那是我需要你帮助的时候。我了解逻辑和步骤,但无法将其“翻译”成 PHP。这是我会做的(人类语言):
function displayByTag($tag) {
for each $video-item inside $array {
$tagsArray = explodes(",", $video-item[tags-column]); //That's how I split the tags stored inside the table
for i as integer = 0 to $tagsArray.length {
if $tagsArray(i) == $tag {
//THATS A MATCH
}
}
}
}
这是正确的方法吗?我怎样才能将这种“人类”语言翻译成 PHP 代码?
谢谢您的帮助。
慕工程0101907