gpt4 book ai didi

php - MySQL - 在多值字段中搜索

转载 作者:行者123 更新时间:2023-11-29 09:18:17 24 4
gpt4 key购买 nike

在我的数据库表中,我有以下字段:

表格供应商:

  • ID
  • 姓名
  • 车辆

一个供应商可以拥有多辆车辆。 “车辆”字段将存储多个值。目前,我正在对“管道”符号上的值进行定界,尽管如果需要,可以将其更改为逗号。

在我的前端表单上,我有一个复选框列表 - 用户可以选择多辆车辆。后端脚本需要进行搜索并返回包含任何指定车辆 ID 的所有供应商。

换句话说,我们正在多值字段中使用多个值进行搜索。

复选框列表名称为vehicle_type[],最终将出现在$_POST数组中,如下所示(例如):

Array 
(
[0] => 1
[1] => 4
[2] => 6
)

这可以做到吗?显然我可以使用连接表来做到这一点,但理想情况下我想这样做。如果有帮助的话,我正在使用 PHP 作为我的脚本语言。

最佳答案

The field 'vehicles' will store multiple values. At the moment I am delimiting the values on a 'pipe' symbol, although this can be changed to a comma if need be.

请不要这样做。在文本字段中存储分隔数据并不比将其存储在平面文件中更好。数据变得不可查询。

你想要a nice, happy, normalized database .

CREATE TABLE Suppliers (
supplier_id INTEGER PRIMARY KEY,
...
);

CREATE TABLE Vehicles (
vehicle_id INTEGER PRIMARY KEY,
...
);

CREATE TABLE Supplier_Vehicles (
supplier_id INTEGER NOT NULL REFERENCES Suppliers(supplier_id),
vehicle_id INTEGER NOT NULL REFERENCES Vehicles(vehicle_id),
UNIQUE KEY(supplier_id, vehicle_id)
);

-- Grab all the Vehicles for Supplier 39
SELECT Vehicles.*
FROM Vehicles, Supplier_Vehicles
WHERE Supplier_Vehicles.supplier_id = 39
AND Supplier_Vehicles.vehicle_id = Vehicles.vehicle_id

The checkbox list name is vehicle_type[] and will end up in the $_POST array as (for example) [...] Is this possible to do?

这很有可能,而且是个好主意。尝试一下,看看它的效果如何。

关于php - MySQL - 在多值字段中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3337441/

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