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

Problema de novato con SELECT

Estas en el tema de Problema de novato con SELECT en el foro de Mysql en Foros del Web. Buenas!! Tengo una duda de como hacer un select de una tabla. Soy novato y estoy un poco perdido. Os comento. Tengo una tabla llamada ...
  #1 (permalink)  
Antiguo 29/09/2011, 10:56
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Problema de novato con SELECT

Buenas!!

Tengo una duda de como hacer un select de una tabla. Soy novato y estoy un poco perdido. Os comento.

Tengo una tabla llamada "preguntas" y otra llamada "relaciones". En la página que estoy haciendo (de preguntas y respuestas), el usuario mediante un formulario selecciona sobre que tema quiere que sean las preguntas, las cuales se les devuelve de forma aleatoria. Hasta ahí todo OK.

Para saber que el usuario responde a todas las preguntas y poder volver a responder aquellas que han sido erroneas, he hecho que al responder se inserte en la tabla "relaciones" los siguientes campos: id_pregunta, id_usuario y correcta (siendo correcta un ENUM 'SI' o 'NO').

¿Cómo puedo seleccionar de la tabla "preguntas", aquellas preguntas que no hayan sido preguntadas (que no estén en la tabla "relaciones")?

Gracias de antemano!!
  #2 (permalink)  
Antiguo 29/09/2011, 12:39
 
Fecha de Ingreso: septiembre-2011
Mensajes: 4
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Problema de novato con SELECT

muestranos la estructura de tu tabla preguntas para indicarte como saber cuales no han sido respondidas, eventualmente este ejemplo puede darte luces:

Código PHP:
Ver original
  1. $consultarespuesta= mysql_query("SELECT id FROM preguntas WHERE respondido="no"");
  2. $respuesta= mysql_fetch_array($consultarespuesta);
  3. $consulta= $respuesta[0];

la variable consulta almacenaria la primera pregunta no respondida
  #3 (permalink)  
Antiguo 30/09/2011, 08:11
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema de novato con SELECT

La tabla preguntas tiene los siguientes campos:

id_pregunta
pregunta
respuesta_A
respuesta_B
respuesta_C
correcta
tema
temario
anexo

La tabla relaciones tiene:

id_usuario
id_pregunta
correcta

La tabla usuario tiene:

id_usuario
nombre
pass

La cuestión es que en la tabla preguntas no se incluye el campo que indica que la pregunta ha sido preguntada.
Mi idea es que haya más de un usuario, y en la tabla relaciones se inserte (cada vez que un usuario contesta una pregunta), el id_pregunta, id_usuario y en correcta se incluye 'SI' o 'NO'. Eso (lo de insertar esos datos) ya lo he hecho.

¿Qué busco?
1.- Que a un usuario se le vuelva a preguntar aquellas que no ha respondido correctamente (tabla relaciones, campo correcta 'NO').

2.-Que a un usuario se le pregunten aquellas preguntas que todavía no se le han hecho (aquellas que no estén insertadas en la tabla relaciones).

3.-Que en un momento dado, el usuario pueda borrar esas "relaciones" de preguntas contestadas y volver a empezar desde 0.

No se si me he explicado bien. Bueno a ver si me aconsejais como puedo hacerlo. Un saludo y gracias!!
  #4 (permalink)  
Antiguo 02/10/2011, 03:42
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema de novato con SELECT

Buueno, me estoy dando cuenta que no todo es problema del select, sino de algo más básico como es el tema de las relaciones en las tablas.
He estado leyendo bastante pero no me queda claro del todo.

Las tablas que utilizo son como indico en el post anterior. Pero no tengo claro que tipo de relacion hay entre mis tablas (si uno a varios o varios a varios).

En la tabla "relaciones", una pregunta puede tener varios usuarios, pero un usuario sólo podrá tener una pregunta en la tabla "relaciones", con el campo "correcta" como 'SI' o 'NO'.
¿esto es así o me estoy volviendo loco?

¿Cómo sería el select entonces?

Diossss que perdido voy. Una luz por favor.

Última edición por shaggymen101; 03/10/2011 a las 11:39 Razón: mal explicado
  #5 (permalink)  
Antiguo 03/10/2011, 11:42
 
Fecha de Ingreso: agosto-2011
Mensajes: 11
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problema de novato con SELECT

Me gustaria cambiar el titulo del post, es posible? Sería más correcto problema de novato con la relación de tablas

Etiquetas: campos, select, tabla
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 01:59.