Php从2个数据表添加mysql
我在从两个表中检索一些数据,然后将输出显示到一个区域时遇到问题 这是我的检索代码Php从2个数据表添加mysql,php,mysql,Php,Mysql,我在从两个表中检索一些数据,然后将输出显示到一个区域时遇到问题 这是我的检索代码 $select_users = "SELECT CarID, Model, Year, Price, ManuName FROM Vehicle, Manufacturer"; //run query $result = mysql_query($select_users); 这是输出的代码 <?php while ($user = mysql_fetch_array($
$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;
}
?>
而不仅仅是
Honda Civic 2000 $15,000
Toyota Corolla 1991 $5,000
任何帮助都将不胜感激
谢谢在
车辆
表I中,我会有制造商的外键,然后查询如下:
选择Vehicle.CarID、Vehicle.Model、Vehicle.Year、Vehicle.Price、Vehicle.ManuName、Manufacturer.name
上的内部连接制造商(Vehicle.manufacturerId=Manufacturer.id)
从Vehicle
表I中的Vehicle
中,将有制造商的外键,然后查询如下:
选择Vehicle.CarID、Vehicle.Model、Vehicle.Year、Vehicle.Price、Vehicle.ManuName、Manufacturer.name
上的内部连接制造商(Vehicle.manufacturerId=Manufacturer.id)
从Vehicle
表I中的Vehicle
中,将有制造商的外键,然后查询如下:
选择Vehicle.CarID、Vehicle.Model、Vehicle.Year、Vehicle.Price、Vehicle.ManuName、Manufacturer.name
上的内部连接制造商(Vehicle.manufacturerId=Manufacturer.id)
从Vehicle
表I中的Vehicle
中,将有制造商的外键,然后查询如下:
选择Vehicle.CarID、Vehicle.Model、Vehicle.Year、Vehicle.Price、Vehicle.ManuName、Manufacturer.name
上的内部连接制造商(Vehicle.manufacturerId=Manufacturer.id)
从Vehicle
执行交叉联接,将一个表的每一行与另一个表的每一行相匹配。这几乎肯定是你不想要的。相反,您需要限制表如何连接在一起,为此,您的表车辆和制造商需要相互关联,例如:
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
您可以在这里看到这一点:您正在执行交叉联接,它将一个表的每一行与另一个表的每一行相匹配。这几乎肯定是你不想要的。相反,您需要限制表如何连接在一起,为此,您的表车辆和制造商需要相互关联,例如:
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
您可以在这里看到这一点:您正在执行交叉联接,它将一个表的每一行与另一个表的每一行相匹配。这几乎肯定是你不想要的。相反,您需要限制表如何连接在一起,为此,您的表车辆和制造商需要相互关联,例如:
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
您可以在这里看到这一点:您正在执行交叉联接,它将一个表的每一行与另一个表的每一行相匹配。这几乎肯定是你不想要的。相反,您需要限制表如何连接在一起,为此,您的表车辆和制造商需要相互关联,例如:
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
您可以在这里看到这一点:您可以使用联合或联接一起执行sql查询 或者,您也可以这样做:
$sql1= "SELECT something FROM tbl WHERE column='".query."'";
$result1= $con->query($sql1);
if($result1->num_rows > 0){
while($row = $result->fetch_assoc()) {
$rowans = $row["row"];
$sql2= "SELECT * FROM tbl2 WHERE column2= '".something."'";
$gettingRows2= $con->query($sql);
if($gettingRows2->num_rows > 0){
while($anotherrow= $sql2->fetch_assoc()) {
$sql2Row= $anotherrow["row2"];
}
}
}
}
echo $rowans." ".$sql2Row;
您可以使用联合或联接一起执行sql查询 或者,您也可以这样做:
$sql1= "SELECT something FROM tbl WHERE column='".query."'";
$result1= $con->query($sql1);
if($result1->num_rows > 0){
while($row = $result->fetch_assoc()) {
$rowans = $row["row"];
$sql2= "SELECT * FROM tbl2 WHERE column2= '".something."'";
$gettingRows2= $con->query($sql);
if($gettingRows2->num_rows > 0){
while($anotherrow= $sql2->fetch_assoc()) {
$sql2Row= $anotherrow["row2"];
}
}
}
}
echo $rowans." ".$sql2Row;
您可以使用联合或联接一起执行sql查询 或者,您也可以这样做:
$sql1= "SELECT something FROM tbl WHERE column='".query."'";
$result1= $con->query($sql1);
if($result1->num_rows > 0){
while($row = $result->fetch_assoc()) {
$rowans = $row["row"];
$sql2= "SELECT * FROM tbl2 WHERE column2= '".something."'";
$gettingRows2= $con->query($sql);
if($gettingRows2->num_rows > 0){
while($anotherrow= $sql2->fetch_assoc()) {
$sql2Row= $anotherrow["row2"];
}
}
}
}
echo $rowans." ".$sql2Row;
您可以使用联合或联接一起执行sql查询 或者,您也可以这样做:
$sql1= "SELECT something FROM tbl WHERE column='".query."'";
$result1= $con->query($sql1);
if($result1->num_rows > 0){
while($row = $result->fetch_assoc()) {
$rowans = $row["row"];
$sql2= "SELECT * FROM tbl2 WHERE column2= '".something."'";
$gettingRows2= $con->query($sql);
if($gettingRows2->num_rows > 0){
while($anotherrow= $sql2->fetch_assoc()) {
$sql2Row= $anotherrow["row2"];
}
}
}
}
echo $rowans." ".$sql2Row;
在两个表之间使用usr连接查询更好在两个表之间使用usr连接查询更好在两个表之间使用usr连接查询更好在两个表之间使用usr连接查询更好