$num=mysql_num_rows($query);
$ncols=3;
$voci_per_col=ceil($num/$ncols);
// includo la classe che distribuisce le voci per colonne e righe
include("classes/distrcols.php");
$obj = new distrCols;
$obj->setVars($num,$ncols);
while ($rigo=mysql_fetch_array($query)){
$obj->createCols("[img]images/default/parancio.gif[/img]","modules.php?name=$module&action=show&c=",$r igo['Descrizione'],$rigo['Descr'], $rigo['IDCategoria']);
}
dove:
codice:class distrCols{ var $i; // contatore var $per_col; // numero di record per colonna var $last; // ultimo record function setVars($num,$ncols){ // argomenti: $num = numero totale di record, $ncols = numero di colonne desiderato $i=1; $per_col=ceil($num/$ncols); $this->i=$i; $this->per_col=$per_col; $this->last=$num; } function createCols($img,$params,$text, $text2, $url){ // $img: inserire il tag [img][/img] se si vuole associare un'immagine alla voce, altrimenti '' // $params: eventuali parametri // $text2: ulteriore testo non linkabile $img = $img." "; if ($this->i==1){ // può essere il primo, ma anche l'ultimo if ($this->i==$this->last){ $GLOBALS['doc'] .= " <table width='100%'> <tr> <td align='center'> <table cellspacing='1'> <tr> <td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td> </tr> </table> </td> </tr> </table> "; } else{ $GLOBALS['doc'] .= " <table width='100%'> <tr> <td align='center' valign='top'> <table cellspacing='1'> <tr> <td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td> </tr>"; } } elseif ($this->i%$this->per_col==0){ if ($this->i==$this->last){ // potrebbe essere essere l'ultimo... $GLOBALS['doc'] .= " <tr> <td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td> </tr> </table> </td> </tr> </table> "; } else{ $GLOBALS['doc'] .= " <tr> <td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td> </tr> </table> </td> <td align='center' valign='top'> <table cellspacing='1'> "; } } elseif ($this->i==$this->last){ $GLOBALS['doc'] .= " <tr> <td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td> </tr> </table> </td> </tr> </table> "; } else { $GLOBALS['doc'] .= " <tr> <td align='left'>$img</td><td align='left'><a href=\"$params$url\">$text</a>$text2</td> </tr> "; } $this->i++; } }

Rispondi quotando