Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

problema con mysql y php

Estas en el tema de problema con mysql y php en el foro de Mysql en Foros del Web. Vale aver si me logro explicar, estoy realizando una red social como proyecto, todo va bien, pero tengo un problema con las publicaciones Veran tengo ...
  #1 (permalink)  
Antiguo 13/02/2013, 21:15
Avatar de erozwashere  
Fecha de Ingreso: noviembre-2012
Ubicación: mex
Mensajes: 176
Antigüedad: 11 años, 5 meses
Puntos: 0
problema con mysql y php

Vale aver si me logro explicar,


estoy realizando una red social como proyecto, todo va bien, pero tengo un problema con las publicaciones

Veran tengo una pagina llamada inicio en el cual se deben de mostrar las publicaciones de los usuarios(que estoy siguiendo)

hasta ahora todo va bien, las publicaciones se muestran pero con un error

es decir al seguir a un usuaro se agrega a la tabla "siguiendo"

donde se almacena asi

-- usuarios que sigo --
jose
mariana
luis
etc..


entonces en la pagina inicio se muestran las publicaciones de jose primero que todas y asi, y ese es el problema quiero hacer que se muestren dependiendo de quien la hizo,

es decir si luis hizo una publicacion hace 5 min se muestra hasta el ultimo aunque la publicacion de jose se hizo hace una hora, es decir las publicaciones de jose siempre se muestran primero..


Alguna idea?

GRACIAS
  #2 (permalink)  
Antiguo 14/02/2013, 06:20
 
Fecha de Ingreso: agosto-2012
Mensajes: 3
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: problema con mysql y php

Hola puedes crear una tabla donde estén las publicaciones y un campo de fecha, entonces puedes poner ese campo de fecha como un index y ordenarlo por ahí, de esa forma vas a listar las publicaciones en orden de llegada
  #3 (permalink)  
Antiguo 14/02/2013, 13:52
Avatar de erozwashere  
Fecha de Ingreso: noviembre-2012
Ubicación: mex
Mensajes: 176
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problema con mysql y php

Cita:
Iniciado por jvergnol Ver Mensaje
Hola puedes crear una tabla donde estén las publicaciones y un campo de fecha, entonces puedes poner ese campo de fecha como un index y ordenarlo por ahí, de esa forma vas a listar las publicaciones en orden de llegada
pero y luego como elijo solo las publicaciones de las personas que sigo?
  #4 (permalink)  
Antiguo 14/02/2013, 16:57
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema con mysql y php

Por lo pronto muéstranos cómo son las consultas que usas para buscar las publicaciones. Postea única y exclusivamente SQL. No pongas codigo de programación (normas del foro).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 14/02/2013, 19:24
Avatar de erozwashere  
Fecha de Ingreso: noviembre-2012
Ubicación: mex
Mensajes: 176
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problema con mysql y php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Por lo pronto muéstranos cómo son las consultas que usas para buscar las publicaciones. Postea única y exclusivamente SQL. No pongas codigo de programación (normas del foro).
espero esto no lleve algo de programacion

Código MySQL:
Ver original
  1. SELECT * FROM siguiendo WHERE perfil_id='$_SESSION['id']'
  2.  
  3. SELECT * FROM publicaciones WHERE id=$perfildequiensiguo
  4.  
  5. SELECT * FROM publicaciones ORDER BY id_publicacion DESC

espero y no lleve codigo de prgramacion D:

Última edición por gnzsoloyo; 14/02/2013 a las 19:30 Razón: Expurgando código no SQL...
  #6 (permalink)  
Antiguo 14/02/2013, 19:54
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: problema con mysql y php

Dejaste todo el código PHP...
PHP no es MySQL, y ni siquiera son dependientes el uno del otro.


Yendo a tu problema, tengo una duda:
Cita:
es decir al seguir a un usuaro se agrega a la tabla "siguiendo"

donde se almacena asi

-- usuarios que sigo --
jose
mariana
luis
etc..


entonces en la pagina inicio se muestran las publicaciones de jose primero que todas y asi, y ese es el problema quiero hacer que se muestren dependiendo de quien la hizo,

es decir si luis hizo una publicacion hace 5 min se muestra hasta el ultimo aunque la publicacion de jose se hizo hace una hora, es decir las publicaciones de jose siempre se muestran primero..
Por tu descripción, pareciera que el campo "siguiendo" contiene múltiples valores, cada uno de los cuales sería un usuario que "sigue" una publicación.
¿Es así realmente lo que tienes?
Si es así, desde ya eso está mal, no sirve.

¿Puedes postear la estructura de ambas tablas?

En cuanto a ubicar el post de "luis", siendo este quien hizo la última publicación, la cosa pasa simplemente por recuperar la lista de publicaciones de todos los seguidos, ordenadas de mayor a menor cronológicamente. Pero por supuesto, para eso necesitas que la tabla "publicaciones" tenga por lo menos la fecha y hora de cada una, al momento de ser insertada.

Por eso es necesario que nos muestres la estructura (CREATE TABLE de la tabla).
Si quieres ver la estructura, usa:
Código MySQL:
Ver original
  1. SHOW CREATE TABLE publicaciones;
  2.  
  3. SHOW CREATE TABLE siguiendo;
Eso te devolverá la sentencia completa que crea cada tabla.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 14/02/2013, 20:08
Avatar de erozwashere  
Fecha de Ingreso: noviembre-2012
Ubicación: mex
Mensajes: 176
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problema con mysql y php

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Dejaste todo el código PHP...
PHP no es MySQL, y ni siquiera son dependientes el uno del otro.


Yendo a tu problema, tengo una duda:

Por tu descripción, pareciera que el campo "siguiendo" contiene múltiples valores, cada uno de los cuales sería un usuario que "sigue" una publicación.
¿Es así realmente lo que tienes?
Si es así, desde ya eso está mal, no sirve.

¿Puedes postear la estructura de ambas tablas?

En cuanto a ubicar el post de "luis", siendo este quien hizo la última publicación, la cosa pasa simplemente por recuperar la lista de publicaciones de todos los seguidos, ordenadas de mayor a menor cronológicamente. Pero por supuesto, para eso necesitas que la tabla "publicaciones" tenga por lo menos la fecha y hora de cada una, al momento de ser insertada.

Por eso es necesario que nos muestres la estructura (CREATE TABLE de la tabla).
Si quieres ver la estructura, usa:
Código MySQL:
Ver original
  1. SHOW CREATE TABLE publicaciones;
  2.  
  3. SHOW CREATE TABLE siguiendo;
Eso te devolverá la sentencia completa que crea cada tabla.

Vale esto me devuelve la tabla siguiendo

CREATE TABLE `siguiendo` (
`id` int(10) NOT NULL,
`perfil_id` int(10) NOT NULL,
`perfilaquiensigo` varchar(200) NOT NULL,
`fotodequiensigo` varchar(200) NOT NULL,
KEY `id` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8




------------------------------------------------

esto me devuelve la tabla publicaciones
CREATE TABLE `publicaciones` (
`id` int(5) NOT NULL,
`perfil_id` int(5) NOT NULL,
`publicacion` varchar(100) NOT NULL,
`perfildequienpublica` varchar(100) default NULL,
`fotodelquepublica` varchar(100) default NULL,
`id_publicacion` int(10) NOT NULL auto_increment,
`fecha` datetime default NULL,
PRIMARY KEY (`id_publicacion`),
KEY `id` (`id`),
CONSTRAINT `publicaciones_ibfk_1` FOREIGN KEY (`id`) REFERENCES `perfil` (`perfil_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=206 DEFAULT CHARSET=utf8


antes de tener el campo fecha, relizaba la peticion de publicaciones dependiendo de su id_publicacion en orden DESC por lo que el campo fecha nunca lo utilizaba, y cuando lo utilize me funcionaba esactamente igual a utilizar id_publicacion

Gracias por responder

Etiquetas: php, tabla, usuarios
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 19:57.