如何使用PHP中数组中另一个键的值获取键搜索的所有值?

时间:2016-06-08 13:13:27

标签: php mysql arrays

我有一张表格,里面有我库存的汽车类型:

Table cars

idCar  |  name
-------+-------
1      |  car1
2      |  car2
3      |  car3
4      |  car4

另一张桌子上有购买每辆车的客户:

Table sales

idCar  |  idCustomer
-------+------------
2      |  cust1
2      |  cust5
3      |  cust5
3      |  cust2

我将sales表的所有值都存储在PHP数组中。它看起来像这样:

array(4) { 
      [0]=> array(2) { 
          ["idCar"]=> string(1) "2" 
          ["idCustomer"]=> string(5) "cust1" 
      } 
      [1]=> array(2) { 
          ["idCar"]=> string(1) "2" 
          ["idCustomer"]=> string(5) "cust5" 
      } 
      .... //Here the rest of values
}

我要做的是获取特定客户购买的汽车(或汽车)的所有价值,例如cust5

因此,如果我在销售数组中搜索已经购买了客户cust5的汽车,它应该返回给我idCar,其值为23 。我将idCarname的值与MySQL一起获得该值。

我尝试使用以下sql语句:

"SELECT * FROM cars WHERE FIND_IN_SET(idCar, $salesTable)";

其中$salesTable是包含完整销售表的数组,但当然它不起作用,因为我试图直接解析数组,而不是idCar的值。

我只想向{s}语句传递与特定客户匹配的idCar的值,在本例中为cust5

有没有办法只获取PHP的某些函数所需的idCar值,只给cust5作为参数,这样我才能应用上面提到的sql语句?

提前致谢!

1 个答案:

答案 0 :(得分:0)

使用INNER JOIN

SELECT c.* 
FROM `cars`  c
INNER JOIN sales s
ON s.idCar = c.id
AND s.idCustomer = 'cust5'