在php表中显示包含行的列

时间:2014-08-04 01:48:46

标签: php mysql sql

嘿伙计们,我需要你的帮助,我有这张桌子

enter image description here

我希望像FIDDLE那样显示,我真的不知道如何做到这一点,因为有时只存在两列(prov_name),如果可以,有时会存在两行,请帮助我! / p> 希望你了解我。非常感谢!

通过这种方式,我可以从Joomla中选择数据。

    $db =& JFactory::getDBO();
    $query = 'SELECT prov_name FROM provprices where CA_id = '.$CA_id;
    $db->setQuery($query);
    $result = $db->loadObjectList();
    $prov_name = $result[0];
    echo $prov_name->prov_name;

2 个答案:

答案 0 :(得分:1)

首先,为了使您的数据显示得如此明显,必须相应地进行分组。

第一行是prov_name,因此您可以使用GROUP BY或者您也可以在PHP中使用unitval。根据样本数据,它应该从1到6。

根据totval的数量,第二行只是一个简单的prov_name$db = new PDO('mysql:host=localhost;dbname=DATABASE_NAME;charset=utf8', 'USERNAME', 'PASSWORD'); $data = array(); $results = $db->query("SELECT * from YOUR_TABLE_NAME"); while($row = $results->fetch(PDO::FETCH_ASSOC)) { $data[$row['prov_name']][] = $row; } $keys = array_keys($data); $size = count($keys); $vals = array(); // grouping: // if there are six (cam1 to cam6) // then group them by cam1, ... to cam6, then repeat until theres no more left while(count($data) > 0) { foreach($keys as $key) { if(!empty($data[$key])) { $vals[] = array_shift($data[$key]); } else { unset($data[$key]); // remove them if empty } } } $vals = array_chunk($vals, $size); // split them by how many prov_names ?> <table border="1" cellpadding="10"> <!-- PROV NAMES --> <tr><?php for($x = 1; $x <= $size; $x++): ?> <th colspan="2"><?php echo "prov_name $x"; ?></th> <?php endfor; ?></tr> <!-- unitval totvals --> <tr><?php for($x = 1; $x <= $size; $x++): ?> <td>unitval</td><td>totval</td> <?php endfor; ?></tr> <!-- the grouped values --> <?php foreach($vals as $val): ?> <tr> <?php foreach($val as $v): ?> <td><?php echo $v['unitval']; ?></td> <td><?php echo $v['totval']; ?></td> <?php endforeach; ?> </tr> <?php endforeach; ?> </table>

第三是,其余的是价值观的分组。参见示例:

{{1}}

答案 1 :(得分:0)

我认为你必须先这样做,

尝试循环以在水平方向显示prov_name,

然后使用

在查询中再次获取

&#34; SELECT * FROM table_test where prov_name =&#39; $ prov_name&#39;&#34;

在Variable $ prov_name中,您必须具有CAM2或CAM3 .etc

的值 抱歉只是一个逻辑:)