Foros del Web » Programando para Internet » PHP »

¿como hacer con estas 2 tablas indexadas?

Estas en el tema de ¿como hacer con estas 2 tablas indexadas? en el foro de PHP en Foros del Web. Saludos amigos... soy nuevo y tengo dudas de como hacer una consulta entre varias tablas de mi BD... les explico: tengo 2 tablas indexadas (aunque ...
  #1 (permalink)  
Antiguo 13/04/2006, 11:38
 
Fecha de Ingreso: febrero-2006
Ubicación: Barquisimeto, Venezuela
Mensajes: 36
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta ¿como hacer con estas 2 tablas indexadas?

Saludos amigos...

soy nuevo y tengo dudas de como hacer una consulta entre varias tablas de mi BD... les explico:
tengo 2 tablas indexadas (aunque realmente no se si estan bien)

1)
| usuarios |
-id_usuario | @ (principal)
{

demas campos de datos usuario
....

}


2)
| articulos |
-id_articulo | @
-id_usuario | F (foranea)
-titulo
-contenido
-img1
-img2
-img3
-fecha_publicacion
-fecha_exp

bueno entonces explicitamente lo que no se como hacer es:

- Que en el campo de id_usuario de la tabla "articulos" (o sea la llave foranea) me identifique y alamcene el usuario que esta actualmente logeado y que es quien publicara el articulo.

- ¿Como programar cuando expiran los mensajes luego de X tiempo de publicado (con php o javascript) y pues al expirar se borren de la BD?

- Hacer una consulta entre ambas tablas para mostrar los articulos publicados por cada usuario, o sea si por ejemplo selecciono el id_usuario=1 me muestre todos sus articulos publicados.

Espero que puedan resolverme esto ya que es lo unico que me falta para poder terminar mi aplicacion, de atentemano muchas gracias...
  #2 (permalink)  
Antiguo 13/04/2006, 16:32
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Cita:
Iniciado por oig_rozo
- Que en el campo de id_usuario de la tabla "articulos" (o sea la llave foranea) me identifique y alamcene el usuario que esta actualmente logeado y que es quien publicara el articulo.
La forma en que yo haría esto es, cuando el usuario ingresa con éxito al sitio, guardar en la matriz $_SESSION su identificador de usuario, así lo tengo disponible para toda la sesión y para todos los programas que vaya a usar.
Cita:
- ¿Como programar cuando expiran los mensajes luego de X tiempo de publicado (con php o javascript) y pues al expirar se borren de la BD?
Una forma es llamar a una función "borrar" cada vez que cargás una página, otra forma es programarlo de alguna manera en el servidor (los alojamientos pagos por lo general lo permiten)
Pero de ambas formas, tendrías que hacer una consulta de tipo
DELETE FROM tabla WHERE fecha < fecha_actual + tiempo_de_vida

la forma exacta de la consulta va a depender del tipo del campo fecha (si estás guardando como fecha, como fecha válida de mysql o como marca de tiempo) y de cuánto tiempo de vida permitas a los artículos.

Como comentario, quizás prefieras simplemente deshabilitarlos (agregando un campo "visible" y según el valor de ese campo, pos que sea visible o no el artículo) o generar una página estática con el artículo antes de borrarlo (por si vale la pena guardarlo)
Cita:
- Hacer una consulta entre ambas tablas para mostrar los articulos publicados por cada usuario, o sea si por ejemplo selecciono el id_usuario=1 me muestre todos sus articulos publicados.
pos primero hacés una consulta que te traiga el identificador del usuario (en caso de que no lo tengas ya) y luego simplemente "SELECT * FROM articulos WHERE id_usuario=id_que_tenes"


Saludos.
  #3 (permalink)  
Antiguo 15/04/2006, 09:29
 
Fecha de Ingreso: febrero-2006
Ubicación: Barquisimeto, Venezuela
Mensajes: 36
Antigüedad: 18 años, 2 meses
Puntos: 0
hola alvlin gracias por tu interes en ayudarme...

me gustaria que me dieras un ejemplo de como hacer lo de "guardar en la matriz $_SESSION su identificador de usuario"

el campo de mis fechas son de TIPO "datetime"... podrias ayudarme con ejemplo de como lo harias si la fecha de expirar los articulos publicados fuese de 6 meses...

gracias de antemano...
  #4 (permalink)  
Antiguo 15/04/2006, 18:29
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Cita:
Iniciado por oig_rozo
me gustaria que me dieras un ejemplo de como hacer lo de "guardar en la matriz $_SESSION su identificador de usuario"
me refiero a usar las funciones de sesiones de php, que te habilitan la matriz $_SESSION para guardar todos aquellos datos que quieras guardar justamente en la sesión del usuario.

Y con lo de "guardar en la matriz" me refería simplemente a hacer algo como
$_SESSION['id_usuario'] = $id_usuario

y luego vas a tener disponible $_SESSION['id_usuario'] en todas las páginas en las que abras la sesión.

Cita:
Iniciado por oig_rozo
el campo de mis fechas son de TIPO "datetime"... podrias ayudarme con ejemplo de como lo harias si la fecha de expirar los articulos publicados fuese de 6 meses...
bueno, creo que mysql tiene algunas funciones para hacerlo directamente en la consulta, pero yo lo haría con mktime().

primer paso, genero la marca de tiempo para "hace 6 meses":
Código PHP:
mktime 000date('n') - 6date('j'), date('Y') ); 
luego, genero la fecha en formato mysql combinando mktime con date()
Código PHP:
$fecha date ('Y-m-d'mktime 000date('n') - 6date('j'), date('Y') )); 
Y luego la consulta.....
Código:
"DELETE FROM tabla WHERE fecha <= $fecha"

(puedo estar equivocado en algún detalle, no recuerdo exactamente la forma en este momento, podría ser necesario poner un '#' inmediatamente antes de $fecha)

Saludos.
  #5 (permalink)  
Antiguo 15/04/2006, 18:39
 
Fecha de Ingreso: febrero-2006
Ubicación: Barquisimeto, Venezuela
Mensajes: 36
Antigüedad: 18 años, 2 meses
Puntos: 0
lo voy a poner en practica...
pronto te dare noticias... ;)
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 18:13.