【发布时间】:2016-11-04 06:56:42
【问题描述】:
我正在php 开发一个网络应用程序,其中将有一个名为“我的产品”的区域。这个区域你可以看到你列出的产品。假设您放置了要出售的汽车。你会得到类似的东西:
- 型号:R8
- 颜色:黄色
- 品牌:奥迪
- 类型:柴油
- 价格:90000
- 车牌号:1
我的问题:如何选择卡ID,以便将卡ID作为键,将其他值(例如模型、颜色等)作为值?
我使用mysql 来存储列表。 SQL TABLE:
+---------+------------------------------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------------------------------+------+-----+---------+----------------+
| carid | int(11) | NO | MUL | NULL | auto_increment |
| brand | enum('Alfa Romeo','Aston Martin','Audi') | NO | | NULL | |
| color | varchar(20) | NO | | NULL | |
| type | enum('gasoline','diesel','eletric') | YES | | NULL | |
| price | mediumint(8) unsigned | YES | | NULL | |
| mileage | mediumint(8) unsigned | YES | | NULL | |
| model | text | YES | | NULL | |
| year | year(4) | YES | | NULL | |
| user | varchar(30) | YES | | NULL | |
+---------+------------------------------------------+------+-----+---------+----------------+
我的伪代码是这样的:
- 获取某个用户列出的汽车的 ID;
- 使用该 ID 作为键;
- 获取所有其他选项作为值(柴油、黄色等...)
从array_combine 到foreach inside foreach,我尝试了一些代码。
这是我到目前为止结束的代码:
$qry_id = "select carid from cars where user='$login'";
if ($car_id = mysqli_query($link, $qry_id)){
while ($row = mysqli_fetch_assoc($car_id)){
//It will fetch the iD of the user in the DB
$user_id = $row["carid"];
$qry_model = "select model from cars where carid='$user_id'";
if($model_obj = mysqli_query($link, $qry_model)){
while ($row_2 = mysqli_fetch_assoc($model_obj)){
$model = $row_2['model'];
$final_array = array($user_id => $model);
}
}
}
}
我不知道这是否是正确的方法,因为这是我正在构建的第一个 web 应用程序。 为了简单起见,我只是在此代码中使用模型值。
【问题讨论】:
-
为什么选择数据只是为了重新选择数据?在一个循环中?
SELECT * FROM cars WHERE user = ?或者,如果不是*,您需要的列列表。只需在一个查询中获取您需要的所有数据。 (另请注意,您有一个 SQL 注入漏洞。您需要查看带有查询参数的准备好的语句。) -
什么是
$value_user_id?它没有在您的代码中定义。 -
@David 我会选择所有内容,但以后如何使用我需要的值?在'$qry_model =“从carid ='$user_id'的汽车中选择模型”;'
$valur_user_id的值会随着每次迭代而改变,对吧? -
@trincot 我已经更改了代码。我已经复制/粘贴了之前尝试的代码,但忘记更改该变量。
-
@JoaoTorres:您的意思或您要在这里完成的工作并不是很清楚。您用多个名称(汽车 ID 和用户 ID)调用相同的值,那么它到底意味着什么?最终,当你到达这里时你有什么数据,你需要从数据库中得到什么数据?
标签: php