Separar el contenido del vaciado de una tabla con una linea

Ya solucione el problema se la imagen.
Quisiera ahora separar la información con un <hr> osea cada vez
Que muestra un hotel con su información separar de la otra, escondiendo el
Borde de la tabla.
He probado en todos lados pero no logro hacerlo.

¿

<?php
include("conexión.php");
mysql_select_db("sants");
$res=mysql_query("SELECT * FROM hoteles
ORDER BY nombre_hotel");
?>
<?php
$num_registros=mysql_num_rows($res);
$registros="7";
$pagina="";
if
(is_numeric($pagina))
$inicio=(($pagina-1)*$registros);
else
$inicio="0";
$res=mysql_query("SELECT
* FROM hoteles ORDER BY nombre_hotel
LIMIT $inicio, $registros");
$paginas=ceil($num_registros/$registros);
$tr_hoteles="";
if(mysql_num_rows($res)>0){
while($row=mysql_fetch_assoc($res)){
$tr_hoteles.="
<tr>
<td width=90 rowspan=3><img
src=".$row['imag_hotel']." hspace=10 alt=Sin_imagen></td>
<td width='372'
align='center'
><h4>".$row['nombre_hotel']."</h4></td>
<td width=240 rowspan=2><img
src=".$row['map_hotel']." hspace=80 ></td>
</tr>
<tr>
<td
align='center'>".$row['dire_hotel']."</td>
</tr>
<tr>
<td align='center'><img
src=".$row['estrella_hotel']." height=20
alt=Sin_imagen></td>
<td><img
src=".$row['linkweb_hotel']." hspace=80 height=20></td>
</tr>";
}
}
$tr_hoteles.="
<tr><hr>
<td colspan='3' align='center'>
<a href='index.html'>Volver</a>
</td>
</tr>";
?>
<style>
body{font-family:Arial, Helvetica,
sans-serif; font-weight:bold;}
table.tabla_empresa{background-color:#BFBFBF;width:100%;}
table.tabla_empresa
th{background-color:#4D4D4D;color:#FFFFFF;border:1px solid #E6E6FA}
table.tabla_empresa
td{background-color:#FFFFFF;border:1px solid #E6E6FA}
</style>
<!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>
<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Documento
sin ttulo</title>
<link
href="style.css" rel="stylesheet" type="text/css"
media="screen" />
<style
type="text/css">
<!--
.texthotel {
font-family: Arial, Helvetica,
sans-serif;
color: #02337D;
font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
include("menuprincipal.php");?>
<br />
<div id= "centrar_tabla"
<table class='tabla_empresa'>
<tr>
<th>Imagen</th>
<th>Hotel</th>
<th>Mapa</th>
</tr>
<?php echo $tr_hoteles;?>
</table>
</div>
</body>
</html>

1 Respuesta

Respuesta
1

Para esconder el borde de una tabla debes usar en el style de la tabla border:none;border-collapse:collapse

Eso por un lado, en el código hace esto:

Cambia:

table.tabla_empresa th{background-color:#4D4D4D;color:#FFFFFF;border:1px solid #E6E6FA}
table.tabla_empresa td{background-color:#FFFFFF;border:1px solid #E6E6FA}

por

table.tabla_empresa{border:none;}
table.tabla_empresa th{background-color:#4D4D4D;color:#FFFFFF;border:1px solid #E6E6FA}
table.tabla_empresa td{background-color:#FFFFFF;}

y también cambiá:

<img src=".$row['linkweb_hotel']." hspace=80 height=20></td></tr>";

por

<img src=".$row['linkweb_hotel']." hspace=80 height=20></td></tr><tr><td colspan='6'><hr></td></tr>";

Hay maneras mas elegantes de hacer esto, por ejemplo en vez que cada registro de la lista sea un tr sea directamente una tabla y en vez de acumularlos en una variable lo haces en un array y al final haces un implode del array por <hr>.

seria algo así:

$tablas_resultados=array();
while($row=mysql_fetch....){
    $tablas_resultados[]="
        <table>
            <tr>
            ...... bla bla
            </tr>
        </table>";
}
//Entonces tenemos un array que cada registro es una tabla, y para imprimir todos los registros 
// separados por un <hr> hacemos:
<html>
<body>
<?
    if(count($tablas_resultados)>0){
        echo implode(" <hr />",$tablas_resultados);
    }
?>
Comentame como te fué Saludos!

Estimado,
Perfecto va muy bien,muchas gracias, solucionado,

Quisiera pedirte siempre
con el mismo programa como hacerlo para paginar
los resultados. He comenzado a hacerlo pero tengo como siempre problemas.


<?php
include("conexión.php");
mysql_select_db("sants");
$res=mysql_query("SELECT * FROM hoteles
ORDER BY nombre_hotel");
?>
<?php
$num_registros=mysql_num_rows($res);
$registros="7";
$pagina=$_GET["num"];
if
(is_numeric($pagina))
$inicio=(($pagina-1)*$registros);
else
$inicio="0";
$res=mysql_query("SELECT
* FROM hoteles ORDER BY nombre_hotel
LIMIT $inicio, $registros");
$paginas=ceil($num_registros/$registros);
$tr_hoteles="";
if(mysql_num_rows($res)>0){
while($row=mysql_fetch_assoc($res)){
$tr_hoteles.="
<tr>
<td width=90 rowspan=3><img src=".$row['imag_hotel']."
hspace=10 alt=Sin_imagen></td>
<td width='372'
align='center'
><h4>".$row['nombre_hotel']."</h4></td>
<td width=240 rowspan=2><img
src=".$row['map_hotel']." hspace=80 ></td>
</tr>
<tr>
<td align='center'>".$row['dire_hotel']."</td>
</tr>
<tr>
<td align='center'><img
src=".$row['estrella_hotel']." height=20
alt=Sin_imagen></td>
<td><img
src=".$row['linkweb_hotel']." hspace=80
height=20></td></tr><tr><td
colspan='6'><hr></td>
</tr>";
}
}
$tr_hoteles.="
<tr><hr>
<td colspan='3' align='center'>
<a href='index.html'>Volver</a>
</td>
</tr>";
?>
<style>
body{font-family:Arial, Helvética,
sans-serif; font-weight:bold;}
table.tabla_empresa{border:none;border-collapse:collapse}
table.tabla_empresa{background-color:#BFBFBF;width:100%;}
table.tabla_empresa
th{background-color:#4D4D4D;color:#FFFFFF;border:1px solid #E6E6FA}
table.tabla_empresa
td{background-color:#FFFFFF;}
</style>
<!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>
<meta
http-equiv="Content-Type" content="text/html;
charset=utf-8" />
<title>Documento
sin ttulo</title>
<link
href="style.css" rel="stylesheet" type="text/css"
media="screen" />
<style
type="text/css">
<!--
.texthotel {
font-family: Arial, Helvética,
sans-serif;
color: #02337D;
font-weight: bold;
}
-->
</style>
</head>
<body>
<?php
include("menuprincipal.php");?>
<br />
<div id= "centrar_tabla"
<table class='tabla_empresa'>
<tr>
<th>Imagen</th>
<th>Hotel</th>
<th>Mapa</th>
</tr>
<?php echo $tr_hoteles;?>
</table>
</div>
// Aquí he puesto un total de paginas.
<?php
for ($cont=1;$cont<=$paginas;$cont++)
{
echo
"<a href='hoteles?num=". $cont."'>$cont</a> ";
}
?>
</body>
</html>
Como siempre agradecerte tu voluntad y rapidez en ayudar a los demás.

Como sabes estoy empezando a estudiar PHP soy autodidacta leo, pregunto veo videos etc.

Pero tengo muchas dudas que en una próxima ocasión si no te molesta te las haré.


Gracias y Saludos

La paginación de resultados es algo muy simple, y mysql tiene funciones especificas para esto: FOUND_ROWS y SQL_CALC_FOUND_ROWS

Sql_calc_found_rows cuenta el numero de registros sin tener en cuenta la instrucción LIMIT

y found_rows devuelve el resultado de SQL_CALC_FOUND_ROWS.

Te paso un ejemplo que encontré en google y comento las lineas para que lo entiendas (esta repleto de ejemplos sencillo, googlea paginación en php si quieres ver mas)

¿
<?php
$link = @mysql_connect("localhost", "usuario", "password");
mysql_select_db("base_de_datos", $link);
// maximo por pagina
$limit = 5;
// pagina pedida
$pag = $_GET["pag"];
if ($pag < 1)
{
     $pag = 1;
}
$offset = ($pag-1) * $limit; //calcular el offset para el primer parametro del limit 
//Esta unica consulta al tener la instruccion sql_calc.. trae todos los registros con el limit y cuenta la cantidad sin tener en cuenta el limit
$sql = "SELECT SQL_CALC_FOUND_ROWS id, nombre FROM tabla LIMIT $offset, $limit";
//consulta para extraer el calculo del sql_calc..
$sqlTotal = "SELECT FOUND_ROWS() as total";
//ejecutar las consulta comun
$rs = mysql_query($sql);
//traer el total
$rsTotal = mysql_query($sqlTotal);
$rowTotal = mysql_fetch_assoc($rsTotal);
// Total de registros sin limit
$total = $rowTotal["total"];
?>
<table border="1" bordercolor="#000">
 <thead>
 <tr>
 <td>Id</td>
 <td>Nombre</td>
 </tr>
 </thead>
 <tbody>
 <?php
 while ($row = mysql_fetch_assoc($rs))
 {
 $id = $row["id"];
 $name = htmlentities($row["nombre"]);
 ?>
 <tr>
 <td><?php echo $id; ?></td>
 <td><?php echo $name; ?></td>
 </tr>
 <?php
 }
 ?>
 </tbody>
 <tfoot>
 <tr>
 <td colspan="2">
 <?php
//armar la paginacion
//por si no sabesceil() redondea para arriba
//el foreach llena un array con los links de cada pagina 1,2,3,4...
$totalPag = ceil($total/$limit);
 $links = array();
 for( $i=1; $i<=$totalPag ; $i++)
 {
 $links[] = "<a href=\"?pag=$i\">$i</a>"; 
 }
//Implode crea un string con todos los elementos del array separados por el primer parametro, en este caso " - "
 echo implode(" - ", $links);
 ?>
 </td>
 </tr>
 </tfoot>
</table>

Es bastante claro, pruébalo en un archivo aparte con una tabla simple y una vez que este funcionando modificas tu código.

Muchas gracias,

Tengo todavía problemas en la pagina espero de poder solucionarlo. Disculpa por no haber respondido antes, es porque he estado un poco mal de salud.

Quería molestarte haciéndote unas preguntas.

Cuando uno crea una pagina por ejemplo esta de Hoteles al publicarlo en Internet la pagina donde se buscan los hoteles esta vacía o uno mismo le ingresa los hoteles o es el cliente que lo hace.

Por ejemplo yo había pensado de ingresar unos cuantos, con una fotografía y después los que quieran figurar lo hagan por su cuenta.Para esto hay que pedir permiso a las personas para que figuren en la pagina? como funciona esto.

En la espera

Gracias y saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas