如何使用php从不同的行中获取相同的值
我有一个数据库和一个表。表名是:cranetype他们有4个字段cf_did,cf_firstname,cf_comment,cf_cranetype 下面是数据库值如何使用php从不同的行中获取相同的值,php,mysql,Php,Mysql,我有一个数据库和一个表。表名是:cranetype他们有4个字段cf_did,cf_firstname,cf_comment,cf_cranetype 下面是数据库值 cf_did cf_firstname cf_comment cf_cranetype 1 Alexy tfhgfnjh 2,3 2 Thomas fdghfgh 11,6,3 3 Thomas cgjk
cf_did cf_firstname cf_comment cf_cranetype
1 Alexy tfhgfnjh 2,3
2 Thomas fdghfgh 11,6,3
3 Thomas cgjkjhl 5,6,11,3
4 Thomasxc cgjkjhl 1,6,9,4
5 Thomaseg fdghgh 11,12,3
6 Thomasm fsgdfgbd 11,6,3
7 Thomabs dgtrty 7,9,11
8 Rdgfghfdg bfdhh 1,3,4
9 Gngfdytyt eertret 1,6,3
10 Dvbgfj hfdhhyrtyr 6,3
11 Hnfhghyt bfgfdhg 11,6,3
12 Adgfdyh dfsdtrst 1
13 Rida gfhgfjgh 3,7,68
我有一个选择框,它们的值是1,2,3,4,。。。。
如果我从选择框中选择值1
我想检查数据库tablecranetype字段cf\u cranetype
例如:
我的代码是:
$cranetype = $_POST['cranetype'];
$words = explode(',', $cranetype);
if (strlen($cranetype) > 0) {
$Where = '';
foreach ($words as $Item) {
$Where = "cf_cranetype LIKE '%$Item%' AND";
}
$Where = substr($Where, 0, -4);
$list_ul = "(SELECT * FROM cf_directory` WHERE $Where)";
$query = mysql_query($list_ul) or die(mysql_error());
}
在mysql中使用Find_in_set
SELECT * FROM cranetype WHERE FIND_IN_SET ('1',cf_cranetype);
你需要使用。请查看链接以了解更多说明。
这是你的问题
从cranetype中选择*,其中查找集合“1”中的\u,cf\u cranetype; 解决方案是使用“在集合中查找”和“组中查找”: 演示: 输出:
我的代码是$cranetype=$\u POST['cranetype']$单词=爆炸“,”,$cranetype;如果strlen$cranetype>0{$Where=;foreach$words作为$Item{$Where=cf_cranetype,如“%$Item%”和;}$Where=substr$Where,0,-4;$list_ul=SELECT*从cf_目录`Where$Where;$query=mysql_query$list_ul或diemsql_error;}}`Find_in_集中:它不会给出正确的结果。例如,如果我们必须搜索3,那么如果cf_cranetype=1,它不会显示13。4,8,9,12. 这些是你做的。这是你想要的结果。所以我给出了这个查询select*FROM cranetype,其中cf_cranetype类似于“%1%”;如果我选择cf\u cranetype=11,请使用LIKE QUERYI的这种格式。如何获取cf\u所做的所有行。从表中,如2,3,5,6,7,11im使用此代码,但没有输出,我得到了错误消息函数数据库名称。查找集合中的集合不存在我已在本地检查其工作正常@Alexyuisir,我使用这个代码选择组,就像cranetype中的查找集'1',cf_cranetype>0;我得到了正确的答案。cf|u dids |+------+| 4,8,9,12 |如何显示cf|u did、cf|u firstname、cf|u commentall字段值..如果此代码仅显示cf|u did值,那么还有一个问题吗?如何使用此代码选择GROUP_CONCATcf_did as cf_dids->FROM cranetype->WHERE FIND_IN_SET'1',cf_cranetype>0;要显示cf_did、cf_firstname、cf_commentall字段值..如果此代码仅显示cf_did值。请使用cf_did、cf_firstname、cf_comment替换组cf_did,如cf_dids所示。
$cranetype = $_POST['cranetype'];
$words = explode(',', $cranetype);
if (strlen($cranetype) > 0) {
$Where = '';
foreach ($words as $Item) {
$Where = "cf_cranetype LIKE '%$Item%' AND";
}
$Where = substr($Where, 0, -4);
$list_ul = "(SELECT * FROM cf_directory` WHERE $Where)";
$query = mysql_query($list_ul) or die(mysql_error());
}
SELECT * FROM cranetype WHERE FIND_IN_SET ('1',cf_cranetype);
SELECT GROUP_CONCAT(cf_did) as cf_dids
FROM `cranetype`
WHERE FIND_IN_SET('1', `cf_cranetype`) > 0;
create table cranetype(cf_did int, cf_firstname varchar(100), cf_comment varchar(100), cf_cranetype varchar(50));
insert into cranetype values
(4, 'Thomasxc', 'cgjkjhl', '1,6,9,4'),
(7, 'Thomabs', 'dgtrty', '7,9,11'),
(8, 'Rdgfghfdg', 'bfdhh', '1,3,4'),
(9, 'Gngfdytyt', 'eertret', '1,6,3'),
(12, 'Adgfdyh', 'dfsdtrst', '1');
SELECT GROUP_CONCAT(cf_did) as cf_dids
FROM `cranetype`
WHERE FIND_IN_SET('1', `cf_cranetype`) > 0;
mysql> SELECT GROUP_CONCAT(cf_did) as cf_dids
-> FROM `cranetype`
-> WHERE FIND_IN_SET('1', `cf_cranetype`) > 0;
+----------+
| cf_dids |
+----------+
| 4,8,9,12 |
+----------+
1 row in set (0.00 sec)