首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用PHP从一个MySQL表列中选择多个值

如何使用PHP从一个MySQL表列中选择多个值
EN

Stack Overflow用户
提问于 2017-05-22 13:14:03
回答 4查看 1.4K关注 0票数 0

我有一个MySQL表名data_car。表数据如下所示:

代码语言:javascript
运行
复制
id   name      car
1    john      BMW, Toyota 
2    terry     Nixan, Toyota

我的问题是如何从汽车中选择特定的数据。例如,我有一个包含丰田,宝马,日产的组合框标题汽车,我选择丰田所以“名字”人包含价值丰田将显示在我的程序。

我想要的输出如下:

代码语言:javascript
运行
复制
name: john      car:toyota    payment:$1000

但不幸的是,当我在组合框中选择丰田时,结果总是宝马,而且总是这样出现:

代码语言:javascript
运行
复制
name : john    car:toyota,BMW   payment:$1000

我的问题是,我能从那一栏中选择丰田的价值吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-05-22 13:20:07

您可以像这样使用PHP来执行它:

代码语言:javascript
运行
复制
foreach ($values as $key => $value) {
    $cars = explode(',', $value['car']);
    foreach ($cars as $car) {
        switch ($car) {
            case 'toyota':
                $values[$key]['car'] = $car;
                break;

            default:
                # code...
                break;
        }
    }
}

我建议您重构数据库,在多到多的关系中转换这些数据。

也见

票数 1
EN

Stack Overflow用户

发布于 2017-05-22 13:29:05

如果你重新设计你的数据库会更好,就像这样:

代码语言:javascript
运行
复制
CREATE TABLE drivers (
  driverid      int(11)       UNSIGNED NOT NULL auto_increment,
  driver        varchar(64),
  PRIMARY KEY   (driverid)
);

CREATE TABLE cars (
  carid         int(11)       UNSIGNED NOT NULL auto_increment,
  car           varchar(16),
  PRIMARY KEY   (carid)
);

CREATE TABLE driver_car (
  driverid      int(11),
  carid         int(11)
);
票数 0
EN

Stack Overflow用户

发布于 2017-05-22 13:39:12

如果您想作为select执行此操作,然后连接到您的成本表中,那么您可以使用SQL拆分字符串,然后将一个外部引用放到成本上。这样可以避免重新创建表,尽管如上所述,这将是首选的方法。

例:

代码语言:javascript
运行
复制
 SELECT id, name,
 PARSENAME(REPLACE(Split.a.value(',', 'VARCHAR(max)'),'-','.'),1) 'car' 
 FROM  
 (
 SELECT id, name,
 CAST ('<M>' + REPLACE([car], ',', '</M><M>') + '</M>' AS XML) AS Data 
 FROM   [table] 
 ) AS A 
 CROSS APPLY Data.nodes ('/M') AS Split(a)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44113848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档