我正在使用PHP来做这件事。我的数据库中有一个表,其中一个值可以有两个半相似的记录,我希望将它们显示在HTML的同一行中。不,我不能在MySQL select中分组,因为这个表中只有2或3(最多4)列具有相同的值,而其他列具有不同的值(频率、计数)。为了更容易理解,我有一个表,其中的列位置可以容纳两个(或更多)相同位置的记录。有三列(示例),称为A,B和C,对于相同的位置具有相同的值(通常),以及四列(示例),D,E,F和G具有不同的值。
我想要什么?
在打印屏幕上的数据时,我想将具有相同位置的值分组(如果相同位置的A、B、C或其他列具有相同的值,则对此进行分组并仅显示一次),但在同一行中显示两个不同的值,一个在另一个之上。
我创建了一段时间,其中:
Select all DB data
While with all data to list (fetch_array);
Select the FK data;
Select the repeated data from table with a where condition in position;
IF the select of repeated data result have more than two rows:
X
Else
Display the individual rows.
End of while.我在X中能做的就是用不同的颜色显示...我不能汉化合并具有相同值的这些行的方式...:S
为了更好的理解。
实际上是我的桌子:
---------------|--------------------|----------------|----------------
Position | Variable | Frequence | Data
---------------|--------------------|----------------|----------------
102230 | Information 1 | 0.0003 | A
---------------|--------------------|----------------|----------------
102230 | Information 2 | 0.00743 | A
---------------|--------------------|----------------|----------------
103330 | Information x | 0.002558 | A
---------------|--------------------|----------------|----------------
1033340 | Information y | 0.00255 | A
---------------|--------------------|----------------|----------------
102220 | Information 4 | 0.0099553 | A
---------------|--------------------|----------------|----------------
102220 | Information 5 | 0.00722243 | A
---------------|--------------------|----------------|----------------我想要的:
---------------|--------------------|----------------|----------------
Position | Variable | Frequence | Data
---------------|--------------------|----------------|----------------
102230 | Information 1 | 0.0003 | A
| Information 2 | 0.00743 |
---------------|--------------------|----------------|----------------
103330 | Information x | 0.002558 | A
---------------|--------------------|----------------|----------------
1033340 | Information y | 0.00255 | A
---------------|--------------------|----------------|----------------
102220 | Information 4 | 0.0099553 | A
| Information 5 | 0.00722243 |
---------------|--------------------|----------------|----------------这是我的桌子的一个例子。我想合并重复位置的单元格,这些单元格具有相同的值(在本例中是A单元格和位置编号-但在我的真实脚本中,我有更多的列),并将这些值显示一次。以及具有不同值但来自相同合并位置的列,则这些值显示在同一行中,但在另一行的下方。
我还有另一个问题。我有一个带有频率的十进制列,但是我不能确定点后面的数字的大小,所以我在点后面放了一个很大的数据。
问题出在哪里?
该脚本打印的数字如下:
0.00000828700000000000
0.00216100000000000000我想要的是:
0.000008287
0.002161但是当我使用floatval()时,脚本返回:
8.287E-6
0.002161我不想要科学记数法的回报。
谢谢
发布于 2017-09-08 22:40:43
您可以使用rtrim和sprintf来代替floatval()
$number = rtrim(sprintf('%.20f', "0.00000828700000000000"), "0");上一行的输出为: 0.000008287
https://stackoverflow.com/questions/46117278
复制相似问题