调用我用于循环的数据库时遇到问题。
数据库查询1
SELECT id,qtyslot FROM rack WHERE theid = '1'
例如id = 2
和qtyslot = 12
我们创建for循环
for ($x = 1; $x <= 12; $x++) {
这里我用数据库的标识来调用数据库 1或2,4(逗号从2到4个插槽)等等。
如何选择
SELECT * FROM books WHERE idrack = '2' AND slot"......." // $x
数据库结构如下。
----------------------- | id | slot | name | ----------------------- | 1 | 1 | name | ----------------------- | 2 | 2,4 | name | --> How to define this with the above loop ($x) ----------------------- | 3 | 5,6 | name | --> How to define this with the above loop ($x) ----------------------- | 4 | 7 | name | -----------------------
表格
中的结果如下----------------------------------------- | loop qtyslot | In slot | remark | ----------------------------------------- | 1 | name slot 1 | remark | ----------------------------------------- | 2 | | | ---------------| | | | 3 | Name slot 2,4 | remark | ---------------| | | | 4 | | | ----------------------------------------- | 5 | Name in | | ---------------| slot 5,6 | remark| | 6 | | | ------------------------------------------ etc up to 12
任何人都可以帮助我。
答案 0 :(得分:1)
您可以在mysql中使用SUBSTRING_INDEX函数。 试试这个:
SELECT * FROM books WHERE idrack = '2' AND $x BETWEEN SUBSTRING_INDEX(slot, ',', 1) and SUBSTRING_INDEX(slot, ',', -1)