这种关系是否可能(phpmyadmin)
有可能做到这一点吗 表1的列名为“id” 表2也有一个列名“id” 因为table2接受来自selected复选框的多个值,我想将其与table1关联起来。表1包含firstname、lastname等,而表2包含复选框1或多个选定项中的选定值 表1 表2 john从复选框中选择了3个值 如何关联或使第一个插入的数据拥有3个值或显示如下:这种关系是否可能(phpmyadmin),php,phpmyadmin,Php,Phpmyadmin,有可能做到这一点吗 表1的列名为“id” 表2也有一个列名“id” 因为table2接受来自selected复选框的多个值,我想将其与table1关联起来。表1包含firstname、lastname等,而表2包含复选框1或多个选定项中的选定值 表1 表2 john从复选框中选择了3个值 如何关联或使第一个插入的数据拥有3个值或显示如下: id | firstname | lastname | sports 1 | John | Conner
id | firstname | lastname | sports
1 | John | Conner | basketball
|排球-->
|网球------->
先谢谢你。。。
很抱歉提供了这些插图。要做到这一点,您需要一张照片
您需要第三个表来保持其他两个表之间的关系。您需要第三个表来连接用户和运动
connections
--------------------------
id | users_id | sports_id
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
--------------------------
上表将用户1连接到运动1和2,用户2连接到运动1。我根据您的问题重命名了表格,以使我的示例更具可读性:表1->用户和表2->体育
要使用此方法组合记录,可以调用
SELECT users.firstname, users.lastname, sports.sports
FROM connections
JOIN users ON connections.users_id = users.id
JOIN sports ON connections.sports_id = sports.id
这也使您能够显示已从列表中选择特定运动的用户。通过这种方式,您还可以编辑运动名称一次,以同时影响所有结果
好例子
使用PHP/MySQLi的工作示例
提示:Phpmyadmin只是一个与数据库交互的工具。这不是数据库。我不知道把SELECT语句放在哪里。。。我在你的联系表上试过了。。我在我的答案中添加了一个有效的例子,我希望它能帮助你和其他阅读本文的人。
connections
--------------------------
id | users_id | sports_id
1 | 1 | 1
2 | 1 | 2
3 | 2 | 1
--------------------------
SELECT users.firstname, users.lastname, sports.sports
FROM connections
JOIN users ON connections.users_id = users.id
JOIN sports ON connections.sports_id = sports.id
$db = new mysqli('localhost', 'user', 'pass', 'database'); // Database connection
if ($db->connect_errno > 0) { // Do we have a connection?
die('Unable to connect to database [' . $db->connect_error . ']');
}
// Set the sql query
$sql = "SELECT users.firstname, users.lastname, sports.sports
FROM connections
JOIN users ON connections.users_id = users.id
JOIN sports ON connections.sports_id = sports.id";
if (! ($result = $db->query($sql))) { // Run the query, get results to $result, if errors die
die('There was an error running the query [' . $db->error . ']');
}
while (($row = $result->fetch_assoc())) { // Loop through the results and echo
echo $row['firstname'] . ' ' . $row['lastname'] . ' likes ' . $row['sports'] . '<br />';
// To see all $row variables in nice format we can do: echo '<pre>' . print_r($row, true) . '</pre>';
}
John Conner likes basketball
John Conner likes volleyball
Kyle Reese likes basketball