$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++;
}
}