Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过特定字段中的ID获取另一个表的名称?_Php_Mysql - Fatal编程技术网

Php 如何通过特定字段中的ID获取另一个表的名称?

Php 如何通过特定字段中的ID获取另一个表的名称?,php,mysql,Php,Mysql,我正在研究一个类型系统,想知道如何通过另一个特定字段中的ID集从一个表中获取“名称” 假设此列引用此视频所属类型的ID: | genres | 1,2,3 <--- This field for example. | 5,9,10 我想把这个领域变成这样: | genre_id | genre_title | 1 | Comedy | 2 | Romance | 3 | School 喜剧、浪漫、学校 我用一个像这样的php代码来获得按性

我正在研究一个类型系统,想知道如何通过另一个特定字段中的ID集从一个表中获取“名称

假设此列引用此视频所属类型的ID:

| genres
| 1,2,3    <--- This field for example.
| 5,9,10
我想把这个领域变成这样:

| genre_id | genre_title
| 1        | Comedy
| 2        | Romance
| 3        | School
喜剧、浪漫、学校

我用一个像这样的php代码来获得按性别过滤的信息。
$conn = mysqli_connect("$host","$dbuser","$dbpw","$db");

if (mysqli_connect_errno()){
    echo "Falha ao ligar à Base de Dados: " . mysqli_connect_error();
}

$gender = $_GET['g'];
$getGender = "FIND_IN_SET('$gender',a_generos) = $gender";
$result = mysqli_query($conn, "SELECT * FROM tblAnimes WHERE $getGender") or die(mysqli_error($conn));

while ($home = mysqli_fetch_assoc($result)){
    echo "Name: " . $home['a_titulo'];
    echo "Publication date: " . $home['a_dia'];
    echo "Genres IDs (por agora): " . $home['a_generos']; //Get something like this (1,2,3) but i want this (Comedy, Romance, School)
}
?>

主要问题是如何将它(1,2,3)转化为(喜剧、浪漫、学校)。

最好的方法是重构表结构,这样就不会在单个字段中存储逗号分隔的值列表;更好的方法是将主表关联起来的M-to-N表。这个链接有助于实现这一点,我不知道最好的方法是重构表结构,这样就不会在单个字段中存储逗号分隔的值列表;更好的方法是使用M-to-N表来关联主表。这个链接在这方面很有帮助,我不理解