Foros del Web » Programando para Internet » PHP »

Algo sobre LIMIT y paginar datos

Estas en el tema de Algo sobre LIMIT y paginar datos en el foro de PHP en Foros del Web. bueno, tengo que paginar datos, lo bueno es que logre que todo anda mas o menos bien. pero tengo un lio de novelas cuando quiero ...
  #1 (permalink)  
Antiguo 29/12/2003, 08:25
Avatar de oktubre  
Fecha de Ingreso: agosto-2003
Ubicación: en mi casa
Mensajes: 371
Antigüedad: 20 años, 7 meses
Puntos: 4
Pregunta Algo sobre LIMIT y paginar datos

bueno, tengo que paginar datos, lo bueno es que logre que todo anda mas o menos bien. pero tengo un lio de novelas cuando quiero armar en la parte de abajo el famoso link a la misma pagina que busca.

Miren esto:

<?php
include("config.inc.php");
///----------- Si es la primera vez que se ejecuta-------------------//

if(!isset($_GET['inicio'])){ // primer inicio--------------------------------- if 1
/* $rows = 25; // cantidad de resultados*/
$inicio = 0; // el inicio del limit
$cantidad =2; // cantidad a mostrar por columna
/*echo " $inicio <br>
$cantidad <br>"; // muestro la cantidada que voy a paginar
echo " <a href=\"esteban.php?inicio=$inicio\"> .: Siguiente :. </a> <br> "; // establezco el enlace */
//---------------------------------- BUSCADOR DE BUSCADORES -----------------------------------//
//////////////////////este es el c'odigo de buscar //////////////////////////
//-------------- declaro las consultas
$consulta[0] = "SELECT * FROM puestos WHERE titulo like '%$buscar%' or descripcion like '%$buscar%' or ubicacion like '%$buscar%' and activo='s' LIMIT $inicio, $cantidad ";
$consulta[1] = "SELECT * FROM uniuno WHERE titulo like '%$buscar%' OR introduccion LIKE '%$buscar%' OR texto LIKE '%$buscar%' LIMIT $inicio, $cantidad ";
$consulta[2] = "SELECT * FROM unidos WHERE titulo like '%$buscar%' OR introduccion LIKE '%$buscar$' OR texto LIKE '%$buscar%' LIMIT $inicio, $cantidad ";
$consulta[3] = "SELECT * FROM notas WHERE titulo like '%$buscar%' OR introduccion LIKE '%$buscar$' OR texto LIKE '%$buscar%' LIMIT $inicio, $cantidad ";

if(isset ($_GET[action])){
if($action=="buscar") {

$db = mysql_connect($host, $usuario,$password);
mysql_select_db($database,$db);
$sqlq = "$consulta[$r1]";
$result = mysql_query($sqlq,$db); /// hasta aca esta la conexión
$rowsnum = mysql_num_rows($result);

if( $rowsnum > 0){


while ( $myrowb = mysql_fetch_array($result)){
$sqla = "SELECT nombre, path FROM frankis WHERE ubicacion= '$myrowb[ubicacion]'"; // me coneto a frankis para ver el path de la ubicacion
$resulta = mysql_query($sqla,$db); /// hasta aca esta la conexión

$path = mysql_fetch_array($resulta); /// cargo en $path el paso gerarquico
$constante="http://www.laburantes.com";
$caso[0]="/empresasbuscandote2.php?codigo=$myrowb[codigo]";
$caso[1]="/uni1.php?codigo=$myrowb[codigo]";
$caso[2]="/uni2.php?codigo=$myrowb[codigo]";
$caso[3]="/nota.php?codigo=$myrowb[codigo]";


$linka="$constante$path[path]$caso[$r1]";

echo "
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"423\" id=\"AutoNumber3\" bgcolor=\"#FFFFFF\">
<tr>
<td width=\"100%\"><span style=\"font-family:Arial\">
<font size=\"1\"><b></b><a href=\"$linka\">$myrowb[titulo]</a></font><br>
</span><p class=\"MsoNormal\"><span style=\"font-family:Arial\"><br>
<font size=\"1\">- $myrowb[texto_portada]<br>
$path[nombre]<br>
&nbsp;</font></span></td>
</tr>
</table>";
} // cierro el bucle

} else { //// a partir de aca armo el resultado que voy a mostrar

echo " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"423\" id=\"AutoNumber3\" bgcolor=\"#FFFFFF\"> <br>
<tr><br>
<td width=\"100%\"><font face=\"Arial\" size=\"2\">No se encontró</font><span style=\"font-family:Arial\"><font size=\"2\">:</font><font size=\"1\"><br>
<b> <font face=\"Arial\" size=\"2\" color=\"990000\">$buscar</b></font>&nbsp;&nbsp;&nbsp;&nbsp; Sugerencias: </font></span><br>
<p class=\"MsoNormal\"><span style=\"font-family:Arial\"><font size=\"1\"><br>
Asegúrese de que todas las palabras estén escritas correctamente.<br>
- Intente usar otras palabras.<br>
- Intente usar palabras más generales.</font></span></td><br>
</tr><br>
</table> ";
}//con este cierro el resultado de la tabla




}// con este cierro el action buscar
}// cierro el isset $action

// revisar las zonas de $linka que son las conexiones

//------------------------------ Fin del BUscador --------------------------//

}else{//-------------------------------------------------------------------fin del if 1
$inicio = $_GET['inicio']; // si viene de si mismo, lo proceso

$cantidad=2; // defino nuevamente la cantidad que voy a mostrtar
$inicio= $inicio + $cantidad;
//---------------------------------- BUSCADOR DE BUSCADORES -----------------------------------//
//////////////////////este es el c'odigo de buscar //////////////////////////
//-------------- declaro las consultas
$consulta[0] = "SELECT * FROM puestos WHERE titulo like '%$buscar%' or descripcion like '%$buscar%' or ubicacion like '%$buscar%' and activo='s' LIMIT $inicio, $cantidad ";
$consulta[1] = "SELECT * FROM uniuno WHERE titulo like '%$buscar%' OR introduccion LIKE '%$buscar%' OR texto LIKE '%$buscar%' LIMIT $inicio, $cantidad ";
$consulta[2] = "SELECT * FROM unidos WHERE titulo like '%$buscar%' OR introduccion LIKE '%$buscar$' OR texto LIKE '%$buscar%' LIMIT $inicio, $cantidad ";
$consulta[3] = "SELECT * FROM notas WHERE titulo like '%$buscar%' OR introduccion LIKE '%$buscar$' OR texto LIKE '%$buscar%' LIMIT $inicio, $cantidad ";

if(isset ($_GET[action])){
if($action=="buscar") {

$db = mysql_connect($host, $usuario,$password);
mysql_select_db($database,$db);
$sqlq = "$consulta[$r1]";
$result = mysql_query($sqlq,$db); /// hasta aca esta la conexión
$rowsnum = mysql_num_rows($result);

if( $rowsnum > 0){


while ( $myrowb = mysql_fetch_array($result)){
$sqla = "SELECT nombre, path FROM frankis WHERE ubicacion= '$myrowb[ubicacion]'"; // me coneto a frankis para ver el path de la ubicacion
$resulta = mysql_query($sqla,$db); /// hasta aca esta la conexión

$path = mysql_fetch_array($resulta); /// cargo en $path el paso gerarquico
$constante="http://www.laburantes.com";
$caso[0]="/empresasbuscandote2.php?codigo=$myrowb[codigo]";
$caso[1]="/uni1.php?codigo=$myrowb[codigo]";
$caso[2]="/uni2.php?codigo=$myrowb[codigo]";
$caso[3]="/nota.php?codigo=$myrowb[codigo]";


$linka="$constante$path[path]$caso[$r1]";

echo "
<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"423\" id=\"AutoNumber3\" bgcolor=\"#FFFFFF\">
<tr>
<td width=\"100%\"><span style=\"font-family:Arial\">
<font size=\"1\"><b></b><a href=\"$linka\">$myrowb[titulo]</a></font><br>
</span><p class=\"MsoNormal\"><span style=\"font-family:Arial\"><br>
<font size=\"1\">- $myrowb[texto_portada]<br>
$path[nombre]<br>
&nbsp;</font></span></td>
</tr>
</table>";

} // cierro el bucle

} else { //// a partir de aca armo el resultado que voy a mostrar

echo " <table border=\"1\" cellpadding=\"0\" cellspacing=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" width=\"423\" id=\"AutoNumber3\" bgcolor=\"#FFFFFF\"> <br>
<tr><br>
<td width=\"100%\"><font face=\"Arial\" size=\"2\">No se encontró</font><span style=\"font-family:Arial\"><font size=\"2\">:</font><font size=\"1\"><br>
<b> <font face=\"Arial\" size=\"2\" color=\"990000\">$buscar</b></font>&nbsp;&nbsp;&nbsp;&nbsp; Sugerencias: </font></span><br>
<p class=\"MsoNormal\"><span style=\"font-family:Arial\"><font size=\"1\"><br>
Asegúrese de que todas las palabras estén escritas correctamente.<br>
- Intente usar otras palabras.<br>
- Intente usar palabras más generales.</font></span></td><br>
</tr><br>
</table> ";
}//con este cierro el resultado de la tabla




}// con este cierro el action buscar
}// cierro el isset $action

// revisar las zonas de $linka que son las conexiones

//------------------------------ Fin del BUscador --------------------------//
// le sumo a lo que venia la cantidad
}

if ($rowsnum > 5 ){
echo " Se encontraron solo $rowsnum registros que se muestran en esta única página";
} else {

echo "<div aling=\"center\"> Cantidad de registros encontrados: $rowsnum <br>
<a href=\"esteban.php?action=buscar&buscar=$buscar&in icio=$inicio&r1=$r1\"> Siguiente </a> </div>";
}
?>


bueno, cuando sale el ultio echo me muestra solo dos resultados en $rowsnum. hay alguna manera de mostrar cuantos resultados hay en una busqueda que no tenga lo afectado de LIMIT en la consulta mysql?

osea, hay alguna forma de contar los resultados sin que me muestre los afectados por limit o debo hacer otra consulta para contar los datos.
si debo hacer otra consulta, como hago para que me la selecione de la consulta si tengo a $r1 como seleccion de un array de varias consultas.

que lio no???????

chas Graxx
__________________
w32.oktubre@mm <----------------<<<<
prefiero cerrar la boca y parecer un tonto que abrirla y confirmarlo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.