gpt4 book ai didi

Php从2个表数据添加mysql

转载 作者:太空宇宙 更新时间:2023-11-03 12:00:39 27 4
gpt4 key购买 nike

我在从 2 个表中检索一些数据然后将输出显示到一个区域时遇到问题。

这是我的检索代码

$select_users = "SELECT CarID, Model, Year, Price, ManuName  FROM Vehicle, Manufacturer";
//run query

$result = mysql_query($select_users);

这是输出代码

<?php
while ($user = mysql_fetch_array($result)){
$user_row = sprintf(
"<li><a href='select_veh.php?CarID=%d' class='mainnavstyle'>%s %s %s %s</a></li>",
$user['CarID'],
$user['ManuName'],
$user['Model'],
$user['Year'],
$user['Price']);
echo $user_row;

}
?>

我似乎无法从不同的表格中正确显示“ManuName”。目前,使用此代码我得到了重复的结果:

honda Civic 2000 $15,000

honda Corolla 1991 $5,000

Toyota Civic 2000 $15,000

Toyota Corolla 1991 $5,000

不仅仅是

Honda Civic 2000 $15,000
Toyota Corolla 1991 $5,000

任何帮助将不胜感激谢谢

最佳答案

您正在执行交叉连接,它将一个表的每一行与另一个表的每一行进行匹配。这几乎肯定是您不想要的。相反,您需要限制表连接在一起的方式,为此,您的表 Vehicle 和 Manufacturer 需要相互关联,如下所示:

CREATE TABLE manufacturer (
id integer primary key auto_increment,
name varchar(255)
);

CREATE TABLE vehicle (
id integer primary key auto_increment,
name varchar(255),
year integer,
price double,
manufacturer_id integer not null,
FOREIGN KEY(manufacturer_id) REFERENCES manufacturer(id)
);

然后你可以像这样获取你想要的信息:

SELECT m.name, v.name, v.year, v.price FROM vehicle v
INNER JOIN manufacturer m
ON v.manufacturer_id = m.id

您可以在此处查看实际效果:http://sqlfiddle.com/#!9/5c1f2/1

关于Php从2个表数据添加mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29339436/

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