elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Se puede hacer esto?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Se puede hacer esto?  (Leído 9,006 veces)
mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Se puede hacer esto?
« en: 22 Noviembre 2009, 10:30 am »

Buenas..como estan?

Estoy haciendo algo parecido a un libro de visitas pero que el administrador de la web pueda responder a los mensajes. Entonces lo que quiero saber como puedo hacer para que, en la misma tabla donde se guardan las preguntas y/o comentarios, tambien se guarden las respuestas a dicha pregunta. Les muestro las tabla que tengo en la base de datos:

+----------+
|preguntas|
+----------+
| id_preg |
| nombre |
| apellido |
| mensaje|
|respuestas|
+----------+

El usuario escribe su nombre, apellido y el mensaje y eso queda guardado en esta tabla y se muestra en la pagina. Lo que quiero hacer es que el administrador de la web le escriba la respuesta a dicha persona y eso se inserte en esta tabla en el registro "respuestas" segun a al nombre y apellido que le responda (osea la persona que hizo la pregunta). Me explico?

Desde ya muchas gracias.


En línea

MasterPunk


Desconectado Desconectado

Mensajes: 447


(-A-)


Ver Perfil WWW
Re: Se puede hacer esto?
« Respuesta #1 en: 22 Noviembre 2009, 10:45 am »

yo no pondria mi apellido xD


En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Se puede hacer esto?
« Respuesta #2 en: 22 Noviembre 2009, 10:49 am »

Claro que se puede hacer, si cada pregunta/comentario tiene un id específico solo tienes que hacer un :
Código:
UPDATE librovisitas SET respuesta='$respuesta' WHERE id_preg=$id
En línea

Carlosnuel


Desconectado Desconectado

Mensajes: 527


https://www.quobit.mx/


Ver Perfil WWW
Re: Se puede hacer esto?
« Respuesta #3 en: 22 Noviembre 2009, 19:38 pm »

Claro que se puede hacer, si cada pregunta/comentario tiene un id específico solo tienes que hacer un :
Código:
UPDATE librovisitas SET respuesta='$respuesta' WHERE id_preg=$id


Pero que pasaría si hubieran 5 respuestas a 1 pregunta. Solamente se mostraria la 5° respuesta.
Lo que recomiendo es hacer una tabla intermedia entre respuestas y preguntas

Tabla preguntas
-  idpregunta
- nombre
- fecha
- pregunta

Tabla Pregunta_respuesta
- idpregunta
- idrespuesta

Tabla Respuesta
- idrespuesta
- nombre
- fecha
-respuesta

Con esto 1 pregunta pudiera tener 5 o más respuestas
En línea

mark182


Desconectado Desconectado

Mensajes: 395


Ver Perfil WWW
Re: Se puede hacer esto?
« Respuesta #4 en: 22 Noviembre 2009, 19:52 pm »


Pero que pasaría si hubieran 5 respuestas a 1 pregunta. Solamente se mostraria la 5° respuesta.
Lo que recomiendo es hacer una tabla intermedia entre respuestas y preguntas

Tabla preguntas
-  idpregunta
- nombre
- fecha
- pregunta

Tabla Pregunta_respuesta
- idpregunta
- idrespuesta

Tabla Respuesta
- idrespuesta
- nombre
- fecha
-respuesta

Con esto 1 pregunta pudiera tener 5 o más respuestas

Y que se relacionaria con que? o como seria el codigo sql para hacer la consulta?
En línea

Kasi

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Re: Se puede hacer esto?
« Respuesta #5 en: 23 Noviembre 2009, 16:24 pm »

Algo similar a:
Código:
SELECT lo que sea
FROM (Preguntas
INNER JOIN Pregunta_Respuesta ON Preguntas.idpregunta = Pregunta_respuesta.idpregunta)
INNER JOIN Respuesta ON Respuesta.idrespuesta = Pregunta_Respuesta.idrespuesta

No es recomendable que hagas la select con el * puesto que te devuelve todos los campos de las 3 tablas, obtén únicamente los necesarios(imagínate sino con tablas grandes :P )
En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Se puede hacer esto?
« Respuesta #6 en: 23 Noviembre 2009, 16:32 pm »

ehm... yo crearía una nueva tabla y la relacionaría con las preguntas... cuestión de diseño :rolleyes:

como ya te respondieron... se puede, pero no se debe xD

por cierto, solo serían 2 tablas

Preguntas
Respuestas
idpregunta
pregunta
fecha
iduser (fk)
idrespuesta
respuesta
fecha
iduser(fk)
idpregunta(fk)
y la relación:

pregunta |------< respuestas (1 - n)

la tabla que puso carlosnuel sobra xD


En línea

Ojo por ojo, y el mundo acabará ciego.
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Se puede hacer esto?
« Respuesta #7 en: 23 Noviembre 2009, 16:56 pm »

Esto deberia ir en el foro de Base de Datos no de PHP como tal  :-*

Me gusta mas el modelado de Carlosnuel (Es que es el modelado antiguo  ;D  y aun funciona) Es cierto 1 pregunta puede tener mas de 1 respuesta, por ende me atrae mas la idea de enlazar esto con una tercera tabla y 2 indices. Ya que si uso fk estas no se pueden repetir...

Aunque al modelado si le cortaria algunos campos para que no se repitan:

Tabla preguntas
- idpregunta
- nombre
- fecha
- pregunta

Tabla Pregunta_respuesta
- index( idpregunta, idrespuesta)

Tabla Respuesta
- idrespuesta
- respuesta

Es solo mi humilde opinion  :P
« Última modificación: 23 Noviembre 2009, 17:08 pm por ^TiFa^ » En línea

Nakp
casi es
Ex-Staff
*
Desconectado Desconectado

Mensajes: 6.336

he vuelto :)


Ver Perfil WWW
Re: Se puede hacer esto?
« Respuesta #8 en: 23 Noviembre 2009, 17:04 pm »

el modelo de carlos nuel es para n-n xD 1 pregunta varias respuestas, 1 respuesta a varias preguntas????? y... las fk se pueden repetir no? las pk no! xD
En línea

Ojo por ojo, y el mundo acabará ciego.
^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Se puede hacer esto?
« Respuesta #9 en: 23 Noviembre 2009, 17:14 pm »

Precisamente cielo, como las fk no se pueden repetir en que punto van a concordar mi

idpregunta de las tablas Preguntas con idpregunta de la tabla respuesta? No pueden ser iguales, por ende si yo tuviera lo siguiente:

idpregunta       texto
     1               pregunta 'de que color es el sol'

idpregunta        texto
       1             respuesta : Amarillo
       2             respuesta : blanco

La misma pregunta pero no puedo enlazar las mismas respuestas por su valor que no puede repetirse, a no ser claro, que uses una tercera tabla de relacion de 2 indices. Que con fk hasta lo que me concierne no se puede. Hay situaciones donde fk si es efectivo pero hay otras donde bueno... no aplicaria.

Ahora lo anterior con el modelado de CarlosNuel

idpregunta       texto
     1               pregunta 'de que color es el sol'

idpregunta        texto
       1             respuesta : Amarillo
       1             respuesta : blanco

Misma pregunta y sus mismas respuestas.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Un exploit puede hacer esto?
Análisis y Diseño de Malware
Panic0 2 2,679 Último mensaje 3 Marzo 2021, 00:57 am
por Xyzed
Que se puede hacer con el IMEI
Hacking
pepi-to 2 2,978 Último mensaje 14 Julio 2021, 17:15 pm
por engel lex
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines