Buenas tardes, y gracias de antemano por la ayuda que me podais dar.
tengo 2 tablas.
contesta: //Encuestas que ha contestado un usuario
id_encuesta(PK) DNI(PK)
18 12345678A
/*"id_encuesta" es foranea de id_encuesta de la tabla de abajo. (DNI de una con usuarios)*/
encuesta: //encuestas que hay en la base de datos
id_encuesta(PK) pregunta fecha autor
18 ¿Edad? 17-5.... admin
Necesito, conectandome con un usuario, sacar las encuestas QUE NO HA CONTESTADO TODAVÍA.
Intento, obteniendo el DNI del usuario conectado,
hacer:
function comprobar_no_contestadas($DNI)
{
$enc_no_contestadas;
try
{
$conexion = conectarBD();
$consulta = $conexion->prepare("SELECT DISTINCT id_encuesta FROM tuclub.contesta AS c INNER JOIN tuclub.encuesta AS e ON c.id_encuesta = e.id_encuesta WHERE c.DNI <> '$DNI'");
$consulta->execute();
}
catch(PDOException $e)
{
echo $e->getMessage();
}
$enc_no_contestadas = $consulta->fetchAll();
//desconecto la base de datos
desconectarBD($conexion);
return $enc_no_contestadas;
}
después hago con un DNI distinto al que hay en contesta, con lo que me debería de sacar el 18...
$enc_no_contestadas = comprobar_no_contestadas($DNI);
$i=0;
while ($i < count ($enc_no_contestadas))
{
print ("$enc_no_contestadas[$i]");
print ("<br />");
$i++;
}
y no me imprime nada.... lo dicho.. estoy atascado y agradecería cualquier ayuda. Un saludo.
La consulta es:
("SELECT DISTINCT id_encuesta
FROM tuclub.encuesta AS e
INNER JOIN tuclub.contesta AS c
ON e.id_encuesta = c.id_encuesta
WHERE c.DNI <> '$DNI'")
(estaba mal puesta)