Foros del Web » Programando para Internet » PHP »

Recordset?

Estas en el tema de Recordset? en el foro de PHP en Foros del Web. Me gustaría saber si existe la posibilidad de movernos con php por una tabla de mysql cual recordset típico con el movenext, moveprev, movelast y ...
  #1 (permalink)  
Antiguo 14/03/2005, 12:30
 
Fecha de Ingreso: febrero-2005
Ubicación: bcn - catalunya
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 0
Recordset?

Me gustaría saber si existe la posibilidad de movernos con php por una tabla de mysql cual recordset típico con el movenext, moveprev, movelast y movefirst...

Si alguien la conoce lo agradecería, estamos intuyendo algo utilizando el mysql_data_seek y el mysql_fetch_row... pero no sé como conseguir la posición del puntero actual... con lo cual me veo empujado a recorrer la tabla cada vez que quiero moverme por ella...

Bueno, hasta luego y gracias de antemano!
__________________
http://curiosobundo.com <-- blogging

curiosobundaje en este curioso mundo...
  #2 (permalink)  
Antiguo 14/03/2005, 15:58
 
Fecha de Ingreso: febrero-2005
Ubicación: Argentina, Buenos Aires
Mensajes: 58
Antigüedad: 12 años, 10 meses
Puntos: 0
te mande un mp leelo ahi te dice
  #3 (permalink)  
Antiguo 15/03/2005, 02:33
 
Fecha de Ingreso: febrero-2005
Ubicación: bcn - catalunya
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 0
Bueno, se agradece el mensaje prohost, de veras, pero me interesaría resolver este otro tema también. Alguien sabe enfocarme hacia una solución?

pre-Gracias de nuevo!
__________________
http://curiosobundo.com <-- blogging

curiosobundaje en este curioso mundo...
  #4 (permalink)  
Antiguo 15/03/2005, 04:07
Avatar de txetxol  
Fecha de Ingreso: febrero-2002
Ubicación: Pamplona
Mensajes: 73
Antigüedad: 15 años, 10 meses
Puntos: 1
Buenas,

No se mirando las funciones estas dos parece que hacen referencia a lo que dices..
mysql_data_seek
mysql_field_seek

pero no se... yo creo que mucho mas fácil y cómodo utilizar sentencias SQL.

un saludo
  #5 (permalink)  
Antiguo 15/03/2005, 05:41
 
Fecha de Ingreso: febrero-2005
Ubicación: bcn - catalunya
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 0
Las funciones a las que haces referencia sirven para situarse en una posición, pero para darle utilidad necesito saber la posición en la que me encuentro.

El tema sería no tener que lanzar constantemente consultas SQL.
__________________
http://curiosobundo.com <-- blogging

curiosobundaje en este curioso mundo...
  #6 (permalink)  
Antiguo 15/03/2005, 11:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
El tema sería no tener que lanzar constantemente consultas SQL.
Ok, .. pero en que contexto necesitas hacer eso o pretendes hacerlo?

Supongo que ya conoceras mysql_fetch_array() y afines .. con el uso bajo un while() como habras visto en muchos ejemplos ..

Un saludo,
  #7 (permalink)  
Antiguo 15/03/2005, 11:44
 
Fecha de Ingreso: febrero-2005
Ubicación: bcn - catalunya
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 0
Efectivamente, con el uso de while lo que hago es ir haciendo fetch hasta que encuentro lo que quiero y trabajo con ello, pero mi intención sería ahorrarme tiempo y no tener que repasar toda la tabla cada vez.

Por esa razón me gustaría poder hacer un moveprev o un movenext, pues según en qué caso sería terriblemente útil.

gracias de nuevo!
__________________
http://curiosobundo.com <-- blogging

curiosobundaje en este curioso mundo...
  #8 (permalink)  
Antiguo 15/03/2005, 12:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Por esa razón me gustaría poder hacer un moveprev o un movenext, pues según en qué caso sería terriblemente útil.
Podrías poner un ejemplo?

No sé realmente que estás haciendo . .pero en principio el SQL ya te podría resolver muchos problemas de ese tipo .. (te pido el ejemplo por qué realmente con todo el tiempo que llevo desarrollando aplicaciones para este ambiente "web" en PHP+Mysql nunca he requerido de un "movprev" .. a lo sumo un "myssql_data_Seek" ... )

Un saludo,
  #9 (permalink)  
Antiguo 15/03/2005, 12:46
 
Fecha de Ingreso: febrero-2005
Ubicación: bcn - catalunya
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 0
Saludos!

Ok, imaginemos la típica tabla no muy numerosa en cuanto a número de registros pero copiosa en número de campos, nos encontraremos que al visualizar uno de los registros rellenamos ya nuestra pantalla con un formulario completísimo, y me interesa poder moverme al campo anterior, al siguiente pues acabo antes con 5 o 6 clicks que haciendo una nueva búsqueda.

El tema es que sé hacerlo, pero me gustaría hacerlo sin tener que hacer un repaso a la tabla cada vez... sinó un acceso directo al registro en questión, o un movimiento sobre el array devuelto.

Gracias por la ayuda!
__________________
http://curiosobundo.com <-- blogging

curiosobundaje en este curioso mundo...
  #10 (permalink)  
Antiguo 15/03/2005, 13:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
No entendí el ejemplo ..

En principio .. si tu generas tu "formulario" desde PHP con tu consulta SQL a tu BD .. ya estás dejando todo en el "cliente" .. ese movimiento de campos que mencionas se ocasionará en el "cliente" (en esa página HTML con ayuda tal vez de javascript si lo requieres). Si no lo haces así .. tendrás que hacer una "petición" nueva al servidor (ejecutar denuevo tu script) .. así que esos datos obtenidos de tu "record-set" en algún sitio tendrías que almacenarlos: lease un array por ejemplo .. de hecho tendrías que crearte el tuyo própio y propagarlo por una sesión o por el URL . .ahí ya lo trabajarías como un array común y ahí si que tienes funciones para moverte por el array .. ver donde estas (el puntero) ..etc (www.php.net/array).

Pero, .. lo normal es hacer la consulta SQL a tu BD .. sino tendrás un problema que solventar: transacciones .. es decir, bloquear esos registros devueltos por tu "record-set" para que no cambien mientras tu "cliente" está moviendose por los datos obtenidos en algún momento...

Otro ejemplo de todo esto de realizar una consulta "grande" y moverte por ella .. lo detalla las técnicas de "paginación" donde se juega con consultas SQL limitadas (en Mysql usando LIMIT de su SQL) y generando los links que apuntan al nuevo puntero de inicio .. Si, se hace una consulta SQL .. pero grácias a ese manejo de "LIMIT" se entrega sólo lo que se presente o se va a trabajar en ese instante.

Un saludo,
  #11 (permalink)  
Antiguo 16/03/2005, 03:46
 
Fecha de Ingreso: febrero-2005
Ubicación: bcn - catalunya
Mensajes: 107
Antigüedad: 12 años, 10 meses
Puntos: 0
Tomo nota de la propuesta del array, es algo que ya habíamos pensado, pero le encontramos más contras que pros, con lo que lo descartamos, supongo que no nos queda más que pasar por el array o por repetir las consultas.

Supongo que jugaremos con un campo invisible que nos de la posición actual así al hacer la consulta iremos más directamente...

Aunque para comparar ASP y PHP debo decir que el movenext de ASP corresponde al fectch de PHP, así que mi idea era encontrar un moveprev, un movelast o un movefirst en PHP.

Lo que quiero decir es que si se puede hacer con ASP pensava que también se puede hacer con PHP... pero bueno... de momento todavía no pierdo la fe...
__________________
http://curiosobundo.com <-- blogging

curiosobundaje en este curioso mundo...
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 23:00.