Foros del Web » Programando para Internet » PHP »

duda con consulta y paso entre registros

Estas en el tema de duda con consulta y paso entre registros en el foro de PHP en Foros del Web. Buenas tengo una pagina que hace una consulta a los datos de mi BBDD y los muestra todos, tiene un campo de busqueda que si ...
  #1 (permalink)  
Antiguo 16/08/2011, 01:48
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años, 1 mes
Puntos: 2
duda con consulta y paso entre registros

Buenas tengo una pagina que hace una consulta a los datos de mi BBDD y los muestra todos, tiene un campo de busqueda que si lo rellenas te filtra los datos por esos campos. Cuando muestra cada resultado (en este caso un cliente) da un link en el que poder ver sus datos (envia el nombre del cliente por GET) y te saca un pop-up con su ficha rellena con sus datos).

Entonces necesitaria que en el pop-up salieran los 2 links con el que se pudiera pasar de una ficha a otra de la consulta(de todos los resultado o de los que se hayan filtrado por el campo de busqueda)

¿Alguna idea de como hacerlo?

Un saludo y gracias

Última edición por asrael; 16/08/2011 a las 01:53
  #2 (permalink)  
Antiguo 16/08/2011, 02:04
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: duda con consulta y paso entre registros

Una forma rápida que se me ocurre es que construyas con la consulta una estructura de tipo array, en que cada campo almacene a su vez otro array con el nombre del actual, el siguiente y el anterior. Luego pasas esta estructura por session y en la página en que muestras la ficha usas dichos datos. Con esto podrías cambiar lo que envías por get, en lugar de enviar un nombre, podrías enviar el índice en el que está el array con los tres datos.

Esto funcionaría, pero con un gran volumen de datos no es para nada eficiente. Creo que la solución óptima sería repetir la búsqueda en la ficha del pop-up y localizar el registro exacto que se marcó, para así, tener acceso al anterior y al siguiente (con el mismo filtro, obviamente, que debería pasarse por session).

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #3 (permalink)  
Antiguo 24/08/2011, 02:29
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: duda con consulta y paso entre registros

Cuantos registros puede tener un array?? Porque lo que puedo hacer es meter todos los nombres de los clientes en un array y cuando se monta la ficha del cliente poner los enlaces al anterior/siguiente con algun comando del array que me de el registro anterior y el siguiente del registro actual.

¿Eso existe o me lo he inventado xD?

Un saludo y gracias
  #4 (permalink)  
Antiguo 24/08/2011, 03:15
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: duda con consulta y paso entre registros

Es que no necesitas ningún comando ni nada. Si pasas todo a un array y compartes el array por SESSION por ejemplo, luego tendrás que indicarle a tu pop-up el índice del array en el que se encuentra el dato que quieres imprimir en la ficha. Si tienes el índice, no tienes más que crear los enlaces con índice + 1 para el siguiente e índice - 1 para el anterior.

Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?
  #5 (permalink)  
Antiguo 25/08/2011, 05:21
 
Fecha de Ingreso: marzo-2010
Mensajes: 102
Antigüedad: 14 años, 1 mes
Puntos: 2
Respuesta: duda con consulta y paso entre registros

Haber tengo un array de la siguiente manera:

$array=array(prueba1,prueba2,prueba3,prueba4);

Entonces lo que yo quiero saber es si hay algún comando que me devuelva el valor del ultimo elemento del array y si tambien hay algun comando que me devuelva la posicion que ocupa determinado valor en el array.

Por ejemplo si yo tengo el array de arriba, quisiera saber si hay algun comando que me devuelva la posicion del elemento "prueba 3" que seria 3 (porque cuando monto el array de forma dinamica empieza en la posicion 1 no en el 0)

Un saludo y gracias

Última edición por asrael; 25/08/2011 a las 05:38
  #6 (permalink)  
Antiguo 25/08/2011, 05:52
Avatar de vgonga1986  
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: duda con consulta y paso entre registros

A ver, te aclaro una cosa, los arrays en PHP son bastante diferentes que en otros leguajes. Un array puede tener índices numéricos o string y, además, se puede construir para que no rellene todos los índices. Tú puedes hacer esto perfectamente:
Código PHP:
Ver original
  1. $var = array(2=>"prueba1", 5=>"prueba2", "veinte"=>"prueba3", 18=>"prueba4");

Como ves, el índice puede empezar donde quieras, puede saltar posiciones y puede ser string o número. En este enlace tienes todas las funciones que se pueden utilizar con arrays.

En tu caso, parece que vas a utilizar un índice numérico (dices que empezando por 1). Ahora te digo lo que te dije en mensajes anteriores, por qué necesitas sacar la posición de "prueba3"? Seguramente será porque pasas por la URL la cadena "prueba3" para mostrar su ficha y ahora quieres saber cuál es el índice de esta cadena en el array para devolver el siguiente y el posterior.

Y lo que yo te digo es, por qué no envías directamente en el URL el índice en vez de la cadena? Así, lo único que tienes que hacer es:
Código PHP:
Ver original
  1. // Recupero la cadena
  2. $cadena = $array($indice);
  3. // Enlace al siguiente
  4. $siguiente = $indice + 1;
  5. // Enlace al anterior
  6. $anterior = $indice - 1;

Espero que te sirva, un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?

Etiquetas: paso, registros
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 13:05.