Foros del Web » Programando para Internet » Javascript »

Duda Paginacion

Estas en el tema de Duda Paginacion en el foro de Javascript en Foros del Web. Lo que pasa con este ejemplo es que la primera vez que se carga el ejemplo muestra todos los resultados que tiene en la tabla ...
  #1 (permalink)  
Antiguo 13/09/2003, 11:48
 
Fecha de Ingreso: abril-2003
Ubicación: Venezuela
Mensajes: 297
Antigüedad: 21 años
Puntos: 1
Duda Paginacion

Lo que pasa con este ejemplo es que la primera vez que se carga el ejemplo muestra todos los
resultados que tiene en la tabla comercios. Lo que quiere decir que la llamada variable
txt_Criterio tiene un valor nulo= "" y por eso creo que muestra todo, lo que deseo hacer
es que el usuario sea indicado, de que no incluyó ningún criterio de búsqueda y no que err{oneamente
muestre todos los campos.

Supuestamente si ven hay 3 scripts:
el #3 posiciona el cursor en el campo de búsqueda al cargar página.
el #2 un vagancia que hace pasar del campo de busqueda al boton al hacer enter
el #1 revisa que al ser pulsado el botón se haya incluido un CRITERIO DE BÚSQUEDA.

PERO COMO QUE O HAY UN PROBLEMA EN EL SCRIPT QUE VERIFICA PORQUE, COMPRUÉBALO QUE SI JUEGAS CON EL
SISTEMA DE BUSQUEDA ESTE DARA LOS RESULTADOS, EL SCRIPT ESTA MALO.

Si leen esto jueguen con el sistema de búsqueda, haciéndolo con el Enter.

O sea se carga la página, esta posicionado el cursor y presinando enter y enter o como vean
mostrará los resultados cuando no lo debe hacer.

Que me recomiendan arreglar el script o la consulta php.

Sea cual Sea la R/ Diganme Como.<big></big>


<html>

<head>
<title></title>
</head>

<body>

<?php

// LA BASE DATOS DE MI TRABAJO ES MULTIMEDIOS
/* Constitución de la Tabla
/* CREATE TABLE comercios (
co_id varchar(10) NOT NULL default '',
co_nombre varchar(30) NOT NULL default '',
co_pais varchar(30) NOT NULL default '',
UNIQUE KEY co_id (co_id)
) TYPE=MyISAM;

5.- Realizar los siguientes insert


INSERT INTO comercios VALUES ('ESGR000002', 'PRUEBA 2', 'ESPAÑA');
INSERT INTO comercios VALUES ('ESGR000001', 'PRUEBA 1', 'ESPAÑA');
INSERT INTO comercios VALUES ('516', 'JUAN PEREZ', 'MEXICO');
INSERT INTO comercios VALUES ('984', 'ANTONIO RODRIGUEZ', 'MEXICO');
INSERT INTO comercios VALUES ('996', 'INDALECIO TRAVIANNI', 'ARGENTINA');
INSERT INTO comercios VALUES ('975', 'ABELARDO SAINZ', 'PERU');
INSERT INTO comercios VALUES ('111', 'JOSE TOLTACA', 'PERU');
INSERT INTO comercios VALUES ('332', 'RAIMUNDO ALONSO', 'ARGENTINA');
INSERT INTO comercios VALUES ('123', 'JUN JUANES', 'BRASIL');
INSERT INTO comercios VALUES ('585', 'JOAO PAMINHIO', 'BRASIL');
INSERT INTO comercios VALUES ('23432432', 'JOAQUIN DIAZ', 'ESPAÑA');

*/


mysql_connect("localhost","root","prueba");

?>
<html>
<head>
<title>Sistema de Búsqueda</title>
<link rel="stylesheet" type="text/css" href="hoja/hoja.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Pragma" content="no-cache" />

<SCRIPT LANGUAGE="JavaScript">
<!--
// VERIFICA CAMPOS VACIOS
//SCRIPT 1
function Enviar(form) {
for (i = 0; i < form.elements.length; i++) {
if (form.elements[i].type == "text" && form.elements[i].value == "") {
alert("Ingrese el título"); form.elements[i].focus();
return false; }
}
form.submit();
}

//*******
//------- para cambiar entre celdas
//SCRIPT 2
function fn(form,field)
{
var next=0, found=false
var f=form
if(event.keyCode!=13) return;
for(var i=0;i<f.length;i++) {
if(field.name==f.item(i).name){
next=i+1;
found=true
break;
}
}
while(found){
if( f.item(next).disabled==false && f.item(next).type!='hidden'){
f.item(next).focus();
break;
}
else{
if(next<f.length-1)
next=next+1;
else
break;
}
}
}

//SCRIPT 3 //POSICIONA EL SETFOCUS
function setfocus(){document.frm_Busca.txt_Criterio.focus() ;}
// -->
</SCRIPT>

</head>

<body bgcolor="#FFFFFF" onLoad=setfocus()>
<div align="center"><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">
rESULTADOS DE LA bÚSQUEDA</font></strong> </div>
<hr noshade style="color:CC6666;height:1px">
<br>

<!-- Formulario que realizar la Búsqueda-->

<form action="paginacion.php" method="GET" name="frm_Busca">
Criterio de búsqueda:
<input onkeyup=fn(this.form,this) type="text" name="txt_Criterio" size="22" maxlength="150">
<input onClick="return Enviar(this.form)" type="submit" value="Buscar">
</form>
<p></p>
<br>

<?
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$txt_Criterio = "";
if ($_GET["txt_Criterio"]!=""){
$txt_Criterio = $_GET["txt_Criterio"];
$txt_Criterio = " where co_id like '%" . $txt_Criterio . "%' or co_nombre like '%" . $txt_Criterio . "%' or co_pais like '%" . $txt_Criterio . "%'";
}


$sql="SELECT * FROM practica.comercios ".$txt_Criterio;
$res=mysql_query($sql);
$numeroRegistros=mysql_num_rows($res);
if($numeroRegistros<=0)
{
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>No se encontraron resultados</font>";
echo "</div>";
}else{
//////////elementos para el orden
if(!isset($orden))
{
$orden="co_id";
}
//////////fin elementos de orden

//////////calculo de elementos necesarios para paginacion
//tamaño de la pagina
$tamPag=5;

//pagina actual si no esta definida y limites
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;

//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;

if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}

if ($final>$numPags){
$final=$numPags;
}
}

//////////fin de dicho calculo

//////////creacion de la consulta con limites
$sql="SELECT * FROM practica.comercios ".$txt_Criterio." ORDER BY ".$orden.",co_id ASC LIMIT ".$limitInf.",".$tamPag;
$res=mysql_query($sql);

//////////fin consulta con limites
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>encontrados ".$numeroRegistros." resultados<br>";
echo "ordenados por <b>".$orden."</b>";
if(isset($txt_Criterio)){
echo "<br>Valor filtro: <b>".$txt_Criterio."</b>";
}
echo "</font></div>";
echo "<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>";
echo "<tr><td colspan='3'><hr noshade></td></tr>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_id&criterio=".$txt_ Criterio."'>Código</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_nombre&criterio=".$ txt_Criterio."'>Nombre</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=co_pais&criterio=".$tx t_Criterio."'>País</a></th>";
while($registro=mysql_fetch_array($res))
{
?>
<!-- tabla de resultados -->
<tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900'; this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o "];">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_id"]; ?></b></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_nombre"]; ?></b></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><? echo $registro["co_pais"]; ?></b></font></td>
</tr>
<!-- fin tabla resultados -->
<?
}//fin while
echo "</table>";
}//fin if
//////////a partir de aqui viene la paginacion
?>
<br>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr><td align="center" valign="top">
<?
if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&txt_Criterio=".$txt_Criterio ."'>";
echo "<font face='verdana' size='-2'>anterior</font>";
echo "</a>&nbsp;";
}

for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='-2'><b>".$i."</b>&nbsp;</font>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&txt_Criterio=".$ txt_Criterio."'>";
echo "<font face='verdana' size='-2'>".$i."</font></a>&nbsp;";
}
}
if($pagina<$numPags)
{
echo "&nbsp;<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&txt_Cri terio=".$txt_Criterio."'>";
echo "<font face='verdana' size='-2'>siguiente</font></a>";
}
//////////fin de la paginacion
?>
</td></tr>
</table>
<hr noshade style="color:CC6666;height:1px">
<div align="center"><font face="verdana" size="-2"><a class="p" href="">::Inicio::</a></font></div>
</body>
</html>
<?
mysql_close();
?>


</body>

</html>
__________________
crecer es conocer y conocer es aprender
  #2 (permalink)  
Antiguo 13/09/2003, 14:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

A ver si me aclaro. Tu script funciona perfectamente cuando das al boton, pero no cuando das al enter. ¿Sabes por que? Porque es lo que le mandas. Solo ejecuta el onclick cuando se da click fisicamente al boton. Solucion: quita el onclick del boton y pon la funcion en el onsubmit del form. Tendrias que cambiar la ultima linea de la funcion por un return true. Pero eso es javascript.

Y solo funcionara en navegadores javascript.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 12:10.