Gracias por responder y es lo que buscaba pero se me crea un problema. Pagina bien pero cuando lee los resgitro no me publica el Id "1" empieza por el "2" de la base de datos y al final me publica la imagen fija que prediseñe, es decir que no me pone el id "13" de la base. tal parece que cuando saque el termino $rows=mysql_num_rows($result) y lo cambie por el $row = mysql_fetch_array($reg).
si me podes decir por que
Este es la coneccion:
Código PHP:
<?php
// Este código debes de MODIFICAR: Te conectas a la Base de Datos
$hostname_connBlog = ""; // host de la base de datos
$database_connBlog = ""; // nombre de la base de datos
$username_connBlog = ""; // nombre de usuario
$password_connBlog = ""; // contraseña
///////////////////////////////////////////////////////////////////////////////
$connBlog = mysql_pconnect($hostname_connBlog, $username_connBlog, $password_connBlog) or trigger_error(mysql_error(),E_USER_ERROR);
?>
<?php
if (!isset($pag)) $pag = 1; // Por defecto, pagina 1
//Cuenta cuantas noticias existen en la consulta
mysql_select_db($database_connBlog, $connBlog);
$consulta_ho = ("SELECT COUNT(*) FROM tabla,tabla1,tabla2 WHERE tabla.zona_id = tabla1.id_zona AND tabla2.pais = tabla3.id_pais ORDER BY nombre ASC");
$consulta_reg = mysql_query($consulta_ho, $connBlog) or die(mysql_error());
list($total) = mysql_fetch_row($consulta_reg);
$tampag = 12;
$reg1 = ($pag-1) * $tampag;
///////////////////////////////////////////////////////////////////
mysql_select_db($database_connBlog, $connBlog);
$query_ho = "SELECT * FROM tabla,tabla1,tabla2 WHERE tabla.zona_id = tabla1.id_zona AND tabla2.pais = tabla3.id_pais ORDER BY nombre ASC LIMIT $reg1, $tampag";
$reg = mysql_query($query_ho, $connBlog) or die(mysql_error());
if (mysql_num_rows($reg)){ ?>
Este es el paginador:
Código PHP:
<?php
/* Funcion paginar
* actual: Pagina actual
* total: Total de registros
* por_pagina: Registros por pagina
* enlace: Texto del enlace
* Devuelve un texto que representa la paginacion
*/
function paginar($actual, $total, $por_pagina, $enlace) {
$total_paginas = ceil($total/$por_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = " <a href=\"$enlace$anterior\"><img src='/Images/atras_on.gif' border=0 /></a> Pagina: ";
else
$texto = " <img src='/Images/atras_off.gif' border=0 /> Pagina: ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href=\"$enlace$i\">$i</a> ";
if ($actual<$total_paginas)
$texto .= " <a href=\"$enlace$posterior\"><img src='/Images/siguiente_on.gif' border=0 /></a>";
else
$texto .= " <img src='/Images/siguiente_off.gif' border=0 />";
return $texto;
}
echo paginar($pag, $total, $tampag, "index2.php?pag=");
?>
Este es el codigo para publicar:
Código PHP:
<?php
$columnes = 2; # Número de columnas (variable)
if (($row = mysql_fetch_array($reg))==0) {
echo "<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> ";
} else {
echo "<tr><td colspan=$columnes>".$row['id']." Resultados </td></tr>";
}
for ($i=1; $row = mysql_fetch_array($reg); $i++) {
$resto = ($i % $columnes); # Número de celda del <tr> en que nos encontramos
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr>
echo "<td width=298 height=98 valign=middle>
<TABLE width=298 cellPadding=3 cellSpacing=1 bgColor=#cccccc class=bodytext>
<!--DWLayoutTable-->
<TBODY>
<TR>
<TD width=298 height=15 align=left valign=top bgColor=#418aa6 class=bodytext>
<div align=left><font color=#FFFFFF><STRONG>".$row['nombre']."</STRONG></font></div></TD>
</TR>
<TR>
<TD height=65 align=middle vAlign=top bgColor=#eaf4ff >
<DIV align=left><IMG height=44 alt='".$row['nombre']."' src='Hotel/".$row['logo']."' width=80 align=left border=1>
<span class=hotel><STRONG> ".$row['direccion']."</STRONG><BR>
".$row['ciudad']." - ".$row['zona']." <br>
Te.: ".$row['telefono']."</span></DIV></TD>
</TR></TBODY>
</TABLE></td>";
if ($resto == 0) {echo "</tr>";} # Si es la última celda, cerramos </tr>
}
if ($resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos
$ajust = $columnes - $resto; # Número de huecos necesarios
for ($j = 0; $j < $ajust; $j++) {echo "<td width=298 height=98 valign=middle>
<TABLE width=298 cellPadding=3 cellSpacing=1 bgColor=#cccccc class=bodytext>
<!--DWLayoutTable-->
<TBODY>
<TR>
<TD width=298 height=15 align=left valign=top bgColor=#418aa6 class=bodytext>
<div align=left><font color=#FFFFFF><STRONG>Publica</STRONG></font></div></TD>
</TR>
<TR>
<TD height=65 align=middle vAlign=top bgColor=#eaf4ff >
<DIV align=left><IMG height=44 src='publica.gif' width=80 align=left border=1>
<span class=hotel><STRONG> Publica<br>
Contactate con nosotros. </STRONG></span></DIV></TD>
</TR></TBODY>
</TABLE></td>";}
echo "</tr>"; # Cerramos la última línea </tr>
}
}
?>