Problemas para paginar en una búsqueda de php
No puedo PAGINAR un resultado de Búsqueda, una consulta de toda la Tabla de mi BD si se página correctamente, Pero al hacer una Búsqueda si me muestra el resultado pero me muestra los Links de Toda la Tabla, pero al hacer clic en uno de elos Links me aparece error. Lo que quiero es que me Pagine solo los resultados de la Búsqueda. Mientras no. No se cual es mi error, este es el código que estoy utilizando.
Por favor ayudame te lo agradecería bastante.. Gracias.
<?php
// Abre conexión con la base de datos
$connection = mysql_connect("localhost", "admingss", "gss");
// Selecciona la base de datos
mysql_select_db("globalcliente", $connection);
if (!isset($_GET['pag'])) {
$pag = 1; // Por defecto, pagina 1
} else {
$pag = $_GET['pag']; // Página actual
}
// Obtiene todos los registros de la tabla
$consulta = mysql_query("SELECT COUNT(*) FROM ventas ", $connection);
list($total) = mysql_fetch_row($consulta);
// Número de registros por página
$tampag = 4;
// Calcula el rango de los registros
$reg1 = ($pag-1) * $tampag;
//empieza la Busqueda
$busqueda=$_POST['busqueda'];
$btnbuscar=$_POST['btnBuscar'];
if (isset($btnbuscar)) {
$consulta=mysql_query("SELECT * FROM ventas WHERE Num_Cliente LIKE '$busqueda' ORDER BY Fecha DESC LIMIT $reg1, $tampag",$connection);
$result=mysql_fetch_row($consulta);
if ($result==0){
print 'No se encontro registro en la BD';
} else {
print '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="3">
<tr>
<td colspan="8" align="center" bgcolor="#cecef6">BASE DE DATOS DE PEDIDOS</td>
</tr>
<TR bgcolor="#d8d8d8" >
<TH valign="middle"> Numero Cliente</TH>
<TH valign="middle"> Orden Compra</TH>
<TH valign="middle"> #Partidas</TH>
<TH valign="middle"> Fecha Entrega</TH>
<TH valign="middle"> Forma Pago</TH>
<TH valign="middle"> Estatus</TH>
<TH valign="middle"> Fecha</TH>
<TH valign="middle"> Comentarios </TH>
</TR>';
while ($datos=mysql_fetch_assoc($consulta)) {
print'
<tr>
<td width="30">'.$datos['Num_Cliente'].'</td>
<td width="30">'.$datos['Orden_Compra'].'</td>
<td width="30">'.$datos['Num_Partidas'].'</td>
<td width="80">'.$datos['Fecha_Pago'].'</td>
<td width="90">'.$datos['Tipo_Pago'].'</td>
<td width="80">'.$datos['Estatus'].'</td>
<td width="80">'.$datos['Fecha'].'</td>
<td width="110" align="justify">'.$datos['Comentarios'].'</td>
</tr>
';
}
print '
</table>
';
}
}
/* Función para paginación
* $actual - página actual
* $total - total de registros
* $reg_pagina - registros por página
* $link - enlace para la siguiente página
* Devuelve la cadena HTML de paginación
*/
function paginar($actual, $total, $reg_pagina, $link) {
$total_paginas = ceil($total/$reg_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href='$link$anterior'>«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href='$link$i'>$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href='$link$i'>$i</a> ";
if ($actual<$total_paginas && $total_paginas>1)
$texto .= "<a href='$link$posterior'>»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
echo "<center>";
// Pinta la cadena HTML de paginación
echo paginar($pag, $total, $tampag, "paginacion.php?pag=");
echo "</center>";
?>
Por favor ayudame te lo agradecería bastante.. Gracias.
<?php
// Abre conexión con la base de datos
$connection = mysql_connect("localhost", "admingss", "gss");
// Selecciona la base de datos
mysql_select_db("globalcliente", $connection);
if (!isset($_GET['pag'])) {
$pag = 1; // Por defecto, pagina 1
} else {
$pag = $_GET['pag']; // Página actual
}
// Obtiene todos los registros de la tabla
$consulta = mysql_query("SELECT COUNT(*) FROM ventas ", $connection);
list($total) = mysql_fetch_row($consulta);
// Número de registros por página
$tampag = 4;
// Calcula el rango de los registros
$reg1 = ($pag-1) * $tampag;
//empieza la Busqueda
$busqueda=$_POST['busqueda'];
$btnbuscar=$_POST['btnBuscar'];
if (isset($btnbuscar)) {
$consulta=mysql_query("SELECT * FROM ventas WHERE Num_Cliente LIKE '$busqueda' ORDER BY Fecha DESC LIMIT $reg1, $tampag",$connection);
$result=mysql_fetch_row($consulta);
if ($result==0){
print 'No se encontro registro en la BD';
} else {
print '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="3">
<tr>
<td colspan="8" align="center" bgcolor="#cecef6">BASE DE DATOS DE PEDIDOS</td>
</tr>
<TR bgcolor="#d8d8d8" >
<TH valign="middle"> Numero Cliente</TH>
<TH valign="middle"> Orden Compra</TH>
<TH valign="middle"> #Partidas</TH>
<TH valign="middle"> Fecha Entrega</TH>
<TH valign="middle"> Forma Pago</TH>
<TH valign="middle"> Estatus</TH>
<TH valign="middle"> Fecha</TH>
<TH valign="middle"> Comentarios </TH>
</TR>';
while ($datos=mysql_fetch_assoc($consulta)) {
print'
<tr>
<td width="30">'.$datos['Num_Cliente'].'</td>
<td width="30">'.$datos['Orden_Compra'].'</td>
<td width="30">'.$datos['Num_Partidas'].'</td>
<td width="80">'.$datos['Fecha_Pago'].'</td>
<td width="90">'.$datos['Tipo_Pago'].'</td>
<td width="80">'.$datos['Estatus'].'</td>
<td width="80">'.$datos['Fecha'].'</td>
<td width="110" align="justify">'.$datos['Comentarios'].'</td>
</tr>
';
}
print '
</table>
';
}
}
/* Función para paginación
* $actual - página actual
* $total - total de registros
* $reg_pagina - registros por página
* $link - enlace para la siguiente página
* Devuelve la cadena HTML de paginación
*/
function paginar($actual, $total, $reg_pagina, $link) {
$total_paginas = ceil($total/$reg_pagina);
$anterior = $actual - 1;
$posterior = $actual + 1;
if ($actual>1)
$texto = "<a href='$link$anterior'>«</a> ";
else
$texto = "<b>«</b> ";
for ($i=1; $i<$actual; $i++)
$texto .= "<a href='$link$i'>$i</a> ";
$texto .= "<b>$actual</b> ";
for ($i=$actual+1; $i<=$total_paginas; $i++)
$texto .= "<a href='$link$i'>$i</a> ";
if ($actual<$total_paginas && $total_paginas>1)
$texto .= "<a href='$link$posterior'>»</a>";
else
$texto .= "<b>»</b>";
return $texto;
}
echo "<center>";
// Pinta la cadena HTML de paginación
echo paginar($pag, $total, $tampag, "paginacion.php?pag=");
echo "</center>";
?>
2 respuestas
Respuesta de ditman
1
Respuesta de innet
1