Veramente non capisco quello che vuoi fare. Già dovresti usare rowspan e non colspan per ottenere il risultato che vuoi.Originariamente inviato da pippuzzo80
con il count ottengo il numero da associare a colspan però l'immissione dei nomi avviene mediante un for con sintassi del tipo
for --------
{
<td colspan=$num>Nome </td>
<td> Nome[$i](ottenuto dal risultato della query)</td>
<td> Cognome[$i](come sopra)</td>
<td> Via[$i](come sopra) </td>
}
ma in questo modo mi sballa la tabella perche il colspan lo utilizza in ogni ciclo, ci vorrebbe qualcosa che mi permettesse di dichiararlo prima...
Dimmi se l'esempio qui sotto non è assomiglia a quello che vuoi fare ?
codice:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Untitled</title> </head> <body> <? $testo = <<<EOD In pratica una tabella con due colonne(nella prima solo la scritta nome) e nella seconda tutti i possibili nomi. Io vorrei raggruppare la prima colonna utilizzando colspan,il problema è il suguente: non so a priori quanti nomi devo inserire in quanto questi vengono presi da una query al database, come posso fare per impostare la tabella in questo modo EOD; //------------ Array dei nomi - simula il risultato di una query sql $nomi = explode(' ',$testo); //------------ Con sql bisognerebbe usare mysql_num_rows $numNomiPerTD = (int) (count($nomi ) / 2); //------------ Altra prova //$td1 = $nomi; //$td2 = $nomi; //$td1 = array_splice ($td1, 0, $numNomiPerTD); //$td2 = array_splice ($td2,$numNomiPerTD); //----------- Simula la lettura dei dati $conta = 0; while (list(,$nome) = each($nomi)) { if ($conta < $numNomiPerTD) { $td1[] = $nome; } else { $td2[] = $nome; } $conta++; } // $sTD1 = implode(' ',$td1); $sTD2 = implode(' ',$td2); ?> <table summary="" border="1"> <tr> <td rowspan="2" valign="middle">Nomi</td> <td><? print $sTD1 ?></td> </tr> <tr> <td><? print $sTD2 ?></td> </tr> </table> </body> </html>


Rispondi quotando