mmm interessante il girettino in sardegna 
Per quanto riguarda lo script 13manuel84 ha sgamato l'errore relativo ad eventuali rowspan uguali consecutivi
, me ne sono accorto mentre rifacevo lo script. Che posto, magari puō tornare utile (sempre non ci siano altri bug), ora basta passare un'array bidimensionale, non importa di quanti elementi.
codice:
function getRowN(&$arr,$nameField) {
/************************************/
$row=1;
$old='';
$nameRow=$nameField.'_row';
foreach($arr AS $key => $value) {
if ($value[$nameField]==$old) $row++;
else {
for ($i=$key-1;$i>=$key-$row && $key>0;--$i)
$arr[$i][$nameRow]=$row;
$row=1;
}
$old=$value[$nameField];
}
for ($i=$key;$i>$key-$row;--$i)
$arr[$i][$nameRow]=$row;
}
function rearrange(&$arr){
/************************************/
foreach($arr AS $key => $value){
foreach($value AS $k => $v)
getRowN($arr,$k);
break;
}
}
function createBodyTable($arr) {
/********************************/
rearrange($arr);
$bodyTable = '';
for($i=0,$c=count($arr);$i<$c;$i++) {
$tmp = array_chunk($arr[$i], count($arr[$i])/2,true);
$bodyTable.='<tr>';
foreach($tmp[0] AS $k => $v) {
if ($tmp[1][$k.'_row']>1) {
if (!isset($arr[$i-1]) ||
$tmp[1][$k.'_row']!=$arr[$i-1][$k.'_row'] ||
$v!=$arr[$i-1][$k])
$bodyTable.="\t".'<td rowspan="'.$tmp[1][$k.'_row'].'">'.$v.'</td>'."\r\n";
}
else $bodyTable.="\t".'<td>'.$v.'</td>'."\r\n";
}
$bodyTable.='</tr>';
}
return $bodyTable;
}
In pratica rearrange() conta i rowspan necessari per ogni campo dell' array (che deve essere bidimensionale). Quindi nel caso di nicola75ss si deve prima modificare l'array unendo in un unico campo/elemento le due date, perche nel caso ci siano due date iniziali onsecutve uguali "rowspanerebbe".
poi basta fare:
codice:
<table border="1">
<?php echo createBodyTable($resDati)?>
</table>