Podés usar esto
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>titulo</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<style type="text/css">
table td {
border: solid 1px #000;
border-spacing: 2px;
}
table tr td.sinborde {
border: none;
border-spacing: 0px;
}
</style>
</head>
<body>
<?php
$sqlhostname = "localhost";
$login = "xxx";
$password = "@xxx";
$base = "xxxx";
$query = "SELECT fecha FROM msm";
if (!$req)
if ($res == 0){
echo "<center><b>sin resultados</b></center>";
}else{
$celdasporfila = 5;
$resto = $res%$celdasporfila;
echo "<table>\n<tr>\n";
$x = 1;
$fecha = $fila['fecha'];
echo "<td>$fecha</td>\n";
if($x == $celdasporfila){
echo "</tr>\n<tr>";
$x = 0;
}
$x++;
}
}
if($resto != 0){
echo "</tr>";
}else{
echo "\n<td class='sinborde' colspan='$celdasporfila'><!-- sin contenido --></td></tr>\n";
}
echo "</table>";
?>
</body>
</html>
Lo unico que tenes que indicar es el valor de la variable
$celdasporfila, en el caso de que el numero de celdas por fila respecto del numero de registros sea un cociente exacto, se te genera una fila adicional sin datos, que como se observa , se la puede formatear con css para quitarle el borde.
se puede elaborar un poco más. pero asi te genera un xhtml válido
Saludos