Ik heb een klein onderzoek met meerkeuzevragen gemaakt.
In onderstaande mysql tabel staat het deelnemernummer (dn), vraagnummer (a) en antwoord (b).

Op de webpage wil ik alleen de resultaten van de drie vragen laten zien voor de mensen die bijv. bij vraag 2 als antwoord 1 hebben ingevuld.

select from database where a ='2' and  b='1' geeft natuurlijk alleen vraag 2 weer, echter ik wil alle 3 de vragen weergeven maar dan alleen voor de mensen die op vraag 2 1 hebben ingevuld.

Is dit mogelijk en zo ja hoe kan ik dit dan het beste oplossen ?


|dn|a|b|
|27|1|3|
|27|2|2|
|27|3|1|
|29|1|3|
|29|2|1|
|29|3|2|
|22|1|2|
|22|2|3|
|22|3|2|
Dus als ik het goed begrijp wil je de vragen en de antwoorden laten zien?

In dit voorbeeld ga ik ervan uit dat de ene tabel antwoorden heet (die van je voorbeeld) en de andere vragen.

<?php
// Query
$sql = "SELECT antwoorden.b, vragen.vraag
FROM antwoorden
INNER JOIN vraag ON antwoorden.a = vragen.id
WHERE antwoorden.dn = ".$_GET['dn'];

// Uitvoeren
$query = mysql_query($sql);

// En laten zien
while ($result = mysql_fetch_row($query))
{
echo $result[1]." | ".$result[0]; // Eerst de vraag laten zien, dan het antwoord
}
?>

Elwin

[Edit: Foutje in de code]
Bedankt voor je snelle antwoord !
Je gaat uit van 2 tabellen, echter ik maak gebruik van 1 tabel. Ik weet dat ik met subqueries zou kunnen werken, echter dit kan pas vanaf mySQL 4.01 en mijn provider heeft nog niet geupgrade naar deze versie.
Het deelnemernummer komt overigens wel voor in een andere tabel, biedt dit perspectief op een oplossing ?

Reageren