gpt4 book ai didi

php - 通过主键链接两个表中的多列

转载 作者:行者123 更新时间:2023-11-29 03:11:47 25 4
gpt4 key购买 nike

我正在设计一个表格系统,它可以让我创建一个小型计划表。规划器本身是一个 HTML 表,它利用两个不同的 MySQL 表。

表格是:

Table_1 (date_id, suggestion_1, suggestion_2, suggestion_3, ...)

Table_2 (song_id, song_title, ...)

表 1 的“date_id”列填满了日期日历,每个日期都有自己的一组建议。在表 1 的每一行中,建议列的单元格分别填充了从表 2 中的“song_id”列中提取的单个标识号(“1293”、“1185”、“0984”)。

我正在尝试弄清楚如何生成一个 HTML 表格来列出日期和建议,但不仅仅是数字,而是显示第二个表格中的歌曲标题。 (还有关于我想要显示的歌曲的其他信息,这就是为什么我有两个表而不是只有一个表的原因)。

HTML 表格最终应该是这样的:

HTML_Table(日历日期,歌名a,歌名b,歌名c)

我是 PHP/MySQL 的新手(并且是自学的,在这方面 - 好吧,我有一本书)所以我花了一天的大部分时间来弄清楚我应该如何定义我的问题 - 我现在明白我需要引用第二个表中的主键。我的问题是我该怎么做?我正在尝试弄清楚是否应该使用某种 JOIN,但我并不擅长它们,尽管我是新手。

我正在使用的书给出了一个特定实例的示例函数,我对其进行了修改以供个人使用:

//convert the number of the 1st suggestion into a title
function get_suggest1($suggest_a) {
global $db;
$query = 'SELECT
song_title
FROM
draftsongref
WHERE
song_id = ' . $suggest_a;
$result = mysql_query($query, $db) or die(mysql_error($db));
$row = mysql_fetch_assoc($result);
extract($row);
return $song_title;
}

在此之下,我还包括:

//retrieve the suggestions for the mass
$query = 'SELECT
date_id, suggestion_1
FROM
draft_suggestions
ORDER BY
date_id ASC';
$result = mysql_query($query, $db) or die (mysql_error($db));
...
// loop through the results
while ($row = mysql_fetch_assoc($result)) {
extract($row);
$suggest1 = get_suggest1($suggest_a);

...所以我可以使用 $suggest1 变量为给定的建议输出特定的 song_title。我的问题是,每当我运行该函数时,我都会收到一条错误消息。

You have an error in your SQL syntax;
check the manual that corresponds to your
MySQL server version for the right syntax
to use near '' at line 6

现在,到目前为止,我已经设法弄清楚它指的是这个:

WHERE
song_id = ' . $suggest_a;

更具体地说,是“='.$suggest_a;”部分,但我根本不知道如何解决该特定问题。也许它是我的一个假设(变量参数 $suggest_a 是否有特定名称是否重要?),或者它可能是函数设计中的错误 - 当我使用原始示例时,它起作用了,尽管原始参数/变量有没有其他通讯员。

现在,我知道这与我提到的 JOIN 表有点不同,但这是我能够弄清楚如何实现它的最接近的结果。任何帮助将不胜感激。

最佳答案

您的表格设计有误。该表应该是一个日期和一个建议,一个给定日期有多行,而不是一个日期的单行和多个列的建议。这使您可以对两个表进行简单的连接,以获得每个日期的一组建议以及歌曲名称。

关于php - 通过主键链接两个表中的多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7099747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com