表的结构:
create table
CREATE TABLE `DatawlValministry` (
`ID` int(11) NOT NULL,
`RecordNow` int(11) DEFAULT NULL,
`DFid` int(11) DEFAULT NULL,
`DFItem` varchar(300) DEFAULT NULL COMMENT '标题同步',
`Val` varchar(5000) DEFAULT NULL COMMENT '总结内容',
`UID` int(11) DEFAULT NULL COMMENT '用户编号',
`FstCreate` datetime DEFAULT NULL,
`LastModify` datetime DEFAULT NULL,
`DTime` datetime DEFAULT NULL,
`DTimeWrong` datetime DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `INDEX_UID` (`UID`),
KEY `INDEX_DFid` (`DFid`),
KEY `INDEX_DTime` (`DTime`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk数据的值类似于:
ID DFid DFitem val
1 11 稿件数 10
2 12 点数 5
3 13 记录 34
4 14 得分 45
5 11 稿件数 55
6 12 点数 22
7 13 记录 13
8 14 得分 44
. . . .
. . . .
. . . .
. . . .
DFid字段和DFitem字段类似于key=>value形式。怎么在列表显示key=>value的值??
create table
CREATE TABLE `DatawlValministry` (
`ID` int(11) NOT NULL,
`RecordNow` int(11) DEFAULT NULL,
`DFid` int(11) DEFAULT NULL,
`DFItem` varchar(300) DEFAULT NULL COMMENT '标题同步',
`Val` varchar(5000) DEFAULT NULL COMMENT '总结内容',
`UID` int(11) DEFAULT NULL COMMENT '用户编号',
`FstCreate` datetime DEFAULT NULL,
`LastModify` datetime DEFAULT NULL,
`DTime` datetime DEFAULT NULL,
`DTimeWrong` datetime DEFAULT NULL,
PRIMARY KEY (`ID`),
KEY `INDEX_UID` (`UID`),
KEY `INDEX_DFid` (`DFid`),
KEY `INDEX_DTime` (`DTime`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk数据的值类似于:
ID DFid DFitem val
1 11 稿件数 10
2 12 点数 5
3 13 记录 34
4 14 得分 45
5 11 稿件数 55
6 12 点数 22
7 13 记录 13
8 14 得分 44
. . . .
. . . .
. . . .
. . . .
DFid字段和DFitem字段类似于key=>value形式。怎么在列表显示key=>value的值??
我的是这样写的。
select b.val as bval,c.val as cval from table a
left join table b on a.dtime=b.dtime and a.uid=b.uid and b.dfid=11
left join table c on a.dtime=c.dtime and a.uid=c.uid and c.dfid=12
where …………
要SQL?等别人来答你吧,要不转到Mysql版块去。
ID DFid DFitem val
1 11 稿件数 10
2 12 点数 5
3 13 记录 34
4 14 得分 45
5 11 稿件数 55
6 12 点数 22
7 13 记录 13
8 14 得分 44
. . . .
. . . .
. . . .
. . . .
dfid的值是11,12,13,14对应的dfitem是;稿件数,点数,记录数,得分,val值是不一样的。依次类推……
1 11 稿件数 10 1
2 12 点数 5 1
3 13 记录 34 1
4 14 得分 45 1
5 11 稿件数 55 2
6 12 点数 22 2
7 13 记录 13 2
8 14 得分 44 2
这样清楚点……
while($row = mysql_fetch_assoc($result)){
$arrNewArray[$row['dfid']] = $row['dfitem'];
}
print_r($arrNewArray);//$result是你搜索出来的结果,我就不写了。
表1
uid DFid val
1 11 10
1 12 5
1 13 34
1 14 45
...表2
DFid DFitem
11 稿件数
12 点数
13 记录
14 得分你在处理多对多对象关系时没有合理设计表结构,导致纠结...
如果只是随机获取,那也很简单呀,生成一个随机数(范围不用我说了把),然后$arrNewArray[$random]