Foros del Web » Programando para Internet » PHP »

moverse por el record set sin volver a cargar la pagina

Estas en el tema de moverse por el record set sin volver a cargar la pagina en el foro de PHP en Foros del Web. Que tal. Quisiera saber como puedo moverme por el recorset sin vover a cargar la pagina. Mi idea es tener lo siguiente: ________________________ |...........................................| |...........................................| ...
  #1 (permalink)  
Antiguo 08/12/2003, 11:33
Avatar de eoes  
Fecha de Ingreso: diciembre-2003
Ubicación: Puerto Ordaz
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
moverse por el record set sin volver a cargar la pagina

Que tal. Quisiera saber como puedo moverme por el recorset sin vover a cargar la pagina. Mi idea es tener lo siguiente:
________________________
|...........................................|
|...........................................|
| Se Muestra cuadro de datos |
|_________________________|
|Primero|Anterior|Siguiente|Ultimo|

y que cuando presionen uno de estos links muestre los datos del registro corresponmdiente a donde este ubicado el "puntero"(por llamarlo de alguna forma).
Agradezco a quien me pueda ayudar, de antemano gracias.
  #2 (permalink)  
Antiguo 08/12/2003, 15:37
 
Fecha de Ingreso: agosto-2002
Ubicación: Colón - Entre Rios - Argentina
Mensajes: 647
Antigüedad: 15 años, 4 meses
Puntos: 8
Si no quieres volver a recargar la pagina, tu unica opcion seria cargar todo el recordset en un array javascript (que seria poco practico si los registros son muchos).

Y luego cada link tendria que ser un evento javascript que vaya modificando un layer (por ejemplo).

Otra cosa no se me ocurre. Si no aparecen mas ideas, deberias preguntar el el foro JS.

Saludos!
  #3 (permalink)  
Antiguo 08/12/2003, 22:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: (LF).Santiago - Chile
Mensajes: 69
Antigüedad: 14 años
Puntos: 0
es imposible creo yo, salvo cn el uso de Jscript como dice fran86, lo otro es generar tantas capas(HTML) como registros tengas y q al avanzar o retroceder vayan apareciendo o desapareciendo (show y hidden) y por ultimo generar un IFrame con tus registros...salu2
  #4 (permalink)  
Antiguo 08/12/2003, 23:24
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Bueno... no es "tan(?)" imposible.
Imaginen esto:
Al elegir una opción, se abre un pequeño popUp al que se le envía la información necesaria... y como saben, puede haber comunicación entre un popUp y la ventana que lo abre...
Entonces ese popUp procesa la información y envía sentencias JavaScript para que se ejecuten en la primera página...
Luego de esto, el popUp se cierra automáticamente.
O sea que la primera página, nunca se recargó, pero hizo lo que queríamos...

Bien... esto ya lo había posteado antes con más detalle, sólo que josemi me habló de los bloqueadores de popUps y que no funcionaría en caso de que el usuario tenga uno activado (como el de la barra de google).

Pero también me recordó que Cluster había puesto por aquí un link a una página donde se explica cómo hacer algo muy parecido a eso... pero sin abrir el popUp (creo que con un iframe)... Acá les dejo el link:

http://www.ashleyit.com/rs/main.htm

aludos

Última edición por jpinedo; 08/12/2003 a las 23:29
  #5 (permalink)  
Antiguo 09/12/2003, 05:27
Avatar de jercer  
Fecha de Ingreso: octubre-2003
Mensajes: 373
Antigüedad: 14 años, 1 mes
Puntos: 13
La forma de hacerlo con el iframe es prácticamente igual que con el PopUp.

Si con un PopUp es así:

window.open("yyy.asp","xxx");

Donde xxx es el nombre de la ventana. Así si abrimos mas con ese mismo nombre siempre se cargan en la misma y no va abriendo nuevas ventanas ¿verdad?

Pues solo le tenemos que poner al iframe el nombre del 'open' en este caso xxx. Ejemplo:

<iframe name="xxx"></iframe>

De todas formas lo de paginar se "invento" principalmente para evitar que una página demasiado grande se cargase en el el explorador del usuario con la consiguiente espera de tiempo.

Como bien decis todas las soluciones serían con javascript, osea que tendría que cargar todo el código de golpe con lo q lo veo absurdo. Ademas si ya le pasas al usuario todo el tocho al menos muestraselo todo ¿no? no se lo escondas encima.

Tener en cuenta que el tiempo de espera en el 99% de los casos se produce al cargarse la página en el navegador del usuario, no en el servidor. Ademas si lo páginas el servidor tambien trabajará menos en cada consulta. Para que hacer trabajar a servidor y navegador cuando por lo general los usuarios nunca van a pasar de los 10 primeros resultados???
__________________
Jerónimo Cernuda
Wemaster de McAnam.com

Última edición por jercer; 09/12/2003 a las 05:28
  #6 (permalink)  
Antiguo 09/12/2003, 07:20
Avatar de eoes  
Fecha de Ingreso: diciembre-2003
Ubicación: Puerto Ordaz
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Que tal. Bueno de verdad agradezco mucho la receptividad y que se discutiera este tema aclarándome así varias dudas y dándome varias posibilidades para realizar lo que quiero.

En realidad yo se como hacerlo peeeero con una extensión de DreamWeaver llamada PHAkt 2.5.0 pero mi pregunta viene porque lo que pasa es que no puedo crear la conexión ADODB con la base de datos mediante esta extensión (es muy buena), entonces tengo que hacerlo a pie.
Para que vean como es mas o menos aquí les pongo el condigo de un ejemplo del uso del record set.

……
<?php
//Connection statement
require_once('Connections/conex.php');

// begin Recordset
$query_rs_contenido = "SELECT titulo, contenido FROM contenido";
$rs_contenido = $conex->SelectLimit($query_rs_contenido) or die($conex->ErrorMsg());
$totalRows_rs_contenido = $rs_contenido->RecordCount();
// end Recordset

//PHP ADODB document - made with PHAkt 2.4.0

for($i=1; $i<=$totalRows_rs_contenido ; $i++)
{
echo ('Cedula de Identidad: ' ) ;
echo ( $rs_contenido->Fields('titulo'));
echo('<br>');
$rs_contenido->MoveNext(); // este es uno de esos métodos tan chéveres.
}
?>
</body>
</html>
<?php
$rs_contenido->Close();
?>

Como se podrán dar cuanta es muy parecido a como se trabaja los record set en Visual Basic. Existe otros metodos como: Movefirts, Moveprevious, EOF, Fields. Si ponen en Dream WeaverMX “->” podrán verlos. Pero como dije antes yo no puedo utilizar estos porque meda una error en la conexión. Pero bueno nuevamente muchas gracias a todos y lo segire sus consejos.
__________________
Fran Ros.
  #7 (permalink)  
Antiguo 09/12/2003, 07:26
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Pero ese movenext en ese bucle es para recorrer todo el recordset y mostrarlos todos seguidos. En ningun caso hace un boton que sirva para ir mostrando uno a uno los registros. Exactamente se comporta como un recordset en ASP.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 09/12/2003, 07:28
Avatar de eoes  
Fecha de Ingreso: diciembre-2003
Ubicación: Puerto Ordaz
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
aaah se me olvido algo. Si por casualidad alguno ah utilizado la extension me encantaria saber si saben como resolver el problema de la conexion y me ayuden, claro yo tendria que explicar con mas detalle el problema.
__________________
Fran Ros.
  #9 (permalink)  
Antiguo 09/12/2003, 07:37
Avatar de eoes  
Fecha de Ingreso: diciembre-2003
Ubicación: Puerto Ordaz
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
si josemi eso es correcto, solo que puse este ejemplo por que ya lo tenia hecho y para que ustedes lo vieran como es mas o menos que se trabaja, porque acuerdate que que dije que no estoy utilizando eso, lo que estoy haciendo es utilizar:

$sql="select * from w_noticias";
//Devuelve el id de la consulta
$q=mssql_query($sql, $db);
while ($fila = mssql_fetch_object ($q)) //Devuelve la consulta en un objeto (fila)
{
echo $fila->id,' | ',$fila->fecha,' | ',$fila->titulo,' | ',$fila->contenido,'<br>';
}

mssql_free_result($q);
__________________
Fran Ros.
  #10 (permalink)  
Antiguo 10/12/2003, 09:27
Avatar de eoes  
Fecha de Ingreso: diciembre-2003
Ubicación: Puerto Ordaz
Mensajes: 78
Antigüedad: 14 años
Puntos: 0
Que tal mi gente.
Tomado en cuenta lo que dijo jercer:
"... Ademas si ya le pasas al usuario todo el tocho al menos muestraselo todo ¿no? no se lo escondas encima.

Tener en cuenta que el tiempo de espera en el 99% de los casos se produce al cargarse la página en el navegador del usuario, no en el servidor. Ademas si lo páginas el servidor tambien trabajará menos en cada consulta. Para que hacer trabajar a servidor y navegador cuando por lo general los usuarios nunca van a pasar de los 10 primeros resultados???."

y lo que dijo fran96:
"...Si no quieres volver a recargar la pagina, tu unica opcion seria cargar todo el recordset en un array javascript (que seria poco practico si los registros son muchos)..."

Les cuento que me decidi por mostrarlos todos los registros o por lo menos el titulo pues los registros son noticias.

Muchisisisisimas gracias a todos.
__________________
Fran Ros.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 09:28.