Foros del Web » Programando para Internet » PHP »

Avanzar y retroceder registros

Estas en el tema de Avanzar y retroceder registros en el foro de PHP en Foros del Web. HOla, tengo un formulario que actualiza los datos de personas (nombre edad telefono etc) la forma como lo presente es en una tabla solo la ...
  #1 (permalink)  
Antiguo 06/06/2010, 02:13
 
Fecha de Ingreso: junio-2005
Mensajes: 54
Antigüedad: 19 años, 5 meses
Puntos: 0
Avanzar y retroceder registros

HOla, tengo un formulario que actualiza los datos de personas (nombre edad telefono etc) la forma como lo presente es en una tabla solo la informacion de un usuario a la vez, tengo tres botones, avanzar, retroceder y actualizar (en caso quiera modifica algo), es para que se vea el siguiente registro y muestre los datos del siguiente usuario, solo que no se como hacer que funcione ese boton. al final del formulario he puesto:

Código HTML:
<input name="boton" type="submit" id="anterior" value="Anterior" />
<input name="boton" type="submit" id="actuailzar" value="Actualizar" />
<input name="boton" type="submit" id="siguiente"  value="Siguiente" /> 

el php que procesa los datos tiene esta parte del codigo que es la que apunta el boton "siguiente"

Código PHP:
case "Siguiente":
//buscaremos el siguiente registro que cumpla con el criterio de busqueda (pais)
// obtenemos los registros y los ordenamos ascendentemente por id
$datos1=mysql_query("select * from datos1 where pais='$pais' order by id asc");
$con=mysql_fetch_array($datos1);
//ahora mover puntero al siguiente registro
$mover=mysql_data_seek($datos1,$id);  // esto en realidad lo mueve hasta el registro que no cuyo criterio es nulo
//avanzamos un registro
$id++;  // dato recibido via POST desde la pagina que muestra los datos de usuario, se supone que es el id acutal y si se incrementa avanzar al siguien usuario???
$puntero=$con['id'];
$direccion='actualiza.php?puntero='.$puntero//se me ocurrio mandar el nuevo id a la pagina que muestra los datos
header("location:$direccion"); 
tube que eliminar a:
$mover=mysql_data_seek($datos1,$id

poruqe se me fue hasta el final y me boto error

ahora me muestra mi formulario sin datos, y veo que no esta pasando la variable puntero asi se ve en el url

...actualiza.php?puntero=

como puedo hacer, plis ayuda
saludos

Última edición por teksukamen; 06/06/2010 a las 02:35
  #2 (permalink)  
Antiguo 06/06/2010, 02:34
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Avanzar y retroceder registros

Hola
Pues como muestras un usuario a la vez, la consulta es mejor que la hagas con
la cláusula LIMIT de mysql
Eso por el lado mysql
Por el lado html, necesitas una variable hidden que tenga por nombre por ej numregistro
que tenga como value $_POST o $_GET (depende de cual método estes usando), creyendo
que usas get entonces sería $_GET['numregistro']
Por el lado javascript, necesitas una función que se ejecute al presionar los botones de anterior o siguiente (puedes usar la misma función si envias como parámetro el botón pulsado) y en dicha función se hara una sencilla operación aritmética que le sume o reste 1 unidad al actual valor del campo hidden numregistro, y posteriormente si haga el envio de datos
Y finalmente, en php necesitas capturar el valor de esta variable, y con esta hacer el limit

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 06/06/2010, 02:56
 
Fecha de Ingreso: junio-2005
Mensajes: 54
Antigüedad: 19 años, 5 meses
Puntos: 0
De acuerdo Respuesta: Avanzar y retroceder registros

Cita:
Iniciado por mortiprogramador Ver Mensaje
Hola
Pues como muestras un usuario a la vez, la consulta es mejor que la hagas con
la cláusula [URL="http://www.desarrolloweb.com/articulos/1035.php"]LIMIT[/URL] de mysql
Eso por el lado mysql
Muy bien ando por buencamino:
Código PHP:
$datos1=mysql_query("select * from datos1 where pais='$criterio' order by id asc limit 1"); 
Cita:
Por el lado html, necesitas una variable hidden que tenga por nombre por ej numregistro
que tenga como value $_POST o $_GET (depende de cual método estes usando), creyendo que usas get entonces sería $_GET['numregistro']
ok todo bien hasta ahora :)
esto tengo en mi formulario auxiliar, este formulario es solo para seleccionar un criterio de busqueda, luego me manda al formulari en si que muestra todos los datos y con este campo oculto mando un numero de registro solo. y claro estoy usando $_POST.

Código PHP:
<input name="puntero" type="hidden" id="hiddenField" value="-1" /> 

Cita:
Por el lado javascript, necesitas una función que se ejecute al presionar los botones de anterior o siguiente (puedes usar la misma función si envias como parámetro el botón pulsado) y en dicha función se hara una sencilla operación aritmética que le sume o reste 1 unidad al actual valor del campo hidden numregistro, y posteriormente si haga el envio de datos
Aqui ya sone, tambien pense en eso, hasta hace unos instantes, pero ya estoy cansando, son 4am por este lado, auque he buscado algo por la red, pero san google no me esta ayudando mucho ke digamos jeje.

Cita:
Y finalmente, en php necesitas capturar el valor de esta variable, y con esta hacer el limit
Eso no lo veo claro mmm, bueno regresare en unas horas, debo dormir algo saludos y gracias por tu respuesta
  #4 (permalink)  
Antiguo 06/06/2010, 03:20
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: Avanzar y retroceder registros

Hola
bueno, por aquí es la misma hora, y en cuanto al limit, te falta el parámetro que te digo que captures del get o post, pues el LIMIT debe quedarte LIMIT n,1 donde n sera el registro anterior o siguiente
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: registros, retroceder
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:30.