Foros del Web » Programando para Internet » PHP »

Seleccion de Objetos

Estas en el tema de Seleccion de Objetos en el foro de PHP en Foros del Web. Hola buenas, aqui les voy a planterar mi duda. En una pagina realizo una consulta para mostrar una lista de objetos, los cuales estos a ...
  #1 (permalink)  
Antiguo 19/11/2013, 04:01
 
Fecha de Ingreso: noviembre-2013
Ubicación: Utrera
Mensajes: 4
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta Seleccion de Objetos

Hola buenas, aqui les voy a planterar mi duda.
En una pagina realizo una consulta para mostrar una lista de objetos, los cuales estos a su vez tienen un boton auxiliar para obtener mas informacion sobre el objeto relacionado. Mi duda es la siguiente, como poder identificar cada objeto correctamente? ya que siempre me selecciona el ultimo objeto y por lo cual solo veo la informacion de este.
Si os sirve os comento que los objetos los voy obteniendo realizando un foreach a la consulta en cuestion.
  #2 (permalink)  
Antiguo 19/11/2013, 05:37
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Seleccion de Objetos

en tu caso: no code, no help. pon el código que tienes y a ver si se te puede ayudar
__________________
Ayúdame a hacerlo por mi mismo.
  #3 (permalink)  
Antiguo 19/11/2013, 05:40
 
Fecha de Ingreso: noviembre-2013
Ubicación: Utrera
Mensajes: 4
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Seleccion de Objetos

Este es el codigo:
<?php
include('funciones.php');
$db=conectarBDD();
$consulta=$db->prepare("select * from convocatoria ORDER BY fechacreacion DESC LIMIT 4");
$consulta->execute();
foreach ($consulta as $valor) {
echo "<li id=li2>$valor[titulo]</li><a href=convocatoriaConcreta.php class='button'>Mas Informacion</a>";
echo "<p style='padding-bottom:50px'>Fecha Creacion: $valor[fechacreacion]</p>";
}
?>

Muestro una lista de 4 objetos, y la cosa seria que cuando pulse en Mas informacion obtenga la informacion detallada de cada objeto independiente, no se muy bien como poder hacer esto, ya que en sesion me guarda la ID del ultimo objeto que se muestra
  #4 (permalink)  
Antiguo 19/11/2013, 06:22
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Seleccion de Objetos

piensa tres cosas:
1) cada objeto que muestras está guardado en la BD con un id asignado por la propia BD.
2) cada iteración del foreach te puede mostrar un id en la forma $valor['id'].
3) ¿cómo quieres mostrar la información? que sea después de pulsar un enlace o todo en la misma página ¿qué tienes que utilizar de HTML para poder cargar en cada iteración la imagen, el id, el nombre, la descripción, lo que quieras del objeto?
si quieres utilizar un enlace, debes cargar el id de cada objeto para que al crear el GET o el POST tengas preparado un código que atrape ese id y cargue el objeto asociado a esa id. si es todo en la misma página, puedes utilizar las etiquetas de HTML details, title, trucos css para mostrar u ocultar información...
__________________
Ayúdame a hacerlo por mi mismo.
  #5 (permalink)  
Antiguo 19/11/2013, 06:29
 
Fecha de Ingreso: noviembre-2013
Ubicación: Utrera
Mensajes: 4
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Seleccion de Objetos

las dos primeras cosas que me comentas las entiendo. ahora te explico lo que me preguntas.
La informacion quiero mostrarla despues de pulsar el enlace, convocatoriaConcreta.php seria el lugar donde mostrarlo.
cuando me comentas lo de cargar el Id que te refieres como crear una variable y almacenarla hay? yo habia provado almacenar $valor['id'] en $_Session, pero siempre se me guarda la ultima Id de la iteracion
  #6 (permalink)  
Antiguo 19/11/2013, 08:24
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Seleccion de Objetos

no, cuando tú haces esto

Código PHP:
Ver original
  1. foreach ($consulta as $valor) {
  2. echo "<li id=li2>$valor[titulo]</li><a href=convocatoriaConcreta.php class='button'>Mas Informacion</a>";
  3. echo "<p style='padding-bottom:50px'>Fecha Creacion: $valor[fechacreacion]</p>";
  4. }

en cada iteración estás cargando
-un li, con id = li2 con un texto almacenado en $valor['titulo'] (te faltaban las comillas simples...).
-un enlace apuntando a convocatoriaCroncreta.php
-y un párrafo que imprime la fecha en que se creó el objeto.

¿qué te dice eso? que lo estás haciendo mal. no tienes manera de identificar programáticamente qué objeto es cual. solo los diferencias visualmente.

en tu caso, cuando digo programáticamente es:

escrbir código que te permita actuar según la información generada.

no puedes identificar los objetos por fechas, puesto que varios objetos pueden llegar a tener la misma fecha, hora y segundo de creación.

no puedes identificarlos por nombre, porque dependiendo del sistema, lo normal es que dos objetos puedan llegar a tener el mismo nombre.

no puedes identificar los objetos con tu código.

bueno, si la base de datos está correctamente diseñada, cada registro tendrá un id único e irrepetible en la tabla.

coges ese id en cada iteración y creas un enlace GET o POST, como gustes y lo pones como identificador de cada objeto. de manera que:

un enlace GET:
Código PHP:
Ver original
  1. <a href='convocatoriaConcreta.php?objecto_id_get=<?php echo $valor['id'] ?>'>más información</a>

un botón POST:
Código PHP:
Ver original
  1. <form method=post action='index.php'>
  2. <input type=image src='ruta a la imagen' name='objeto_id_post' value='<?php echo $valor['id'] ?>'>
  3. </form>

y con código rescatas el GET o el POST según el valor de la variable objeto_id_get si es por GET o el valor de objeto_id_post si es por POST.

es un ejemplo de cómo solucionar tu problema. podrías utilizar variables de sesión, pero no lo creo necesario según lo que has planteado.
__________________
Ayúdame a hacerlo por mi mismo.
  #7 (permalink)  
Antiguo 20/11/2013, 03:25
 
Fecha de Ingreso: noviembre-2013
Ubicación: Utrera
Mensajes: 4
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Seleccion de Objetos

Vale, lo he entendido, he usado el post y ya me funciona sin problemas.
Muchas gracias por la ayuda macho :)

Etiquetas: objetos, seleccion
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 17:21.