Aangeven van foute antwoorden in quiz

Status
Niet open voor verdere reacties.

kareltje1

Gebruiker
Lid geworden
19 aug 2009
Berichten
26
Hoi allemaal,

Voor mijn werk probeer ik voor studenten een soort leermodule te maken waarbij ze foto's moeten beschrijven. Wat studenten zien is een foto en een lijst met meerkeuze vragen. (vb wat is de vorm van de afbeelding? keuze antwoorden: rond, vierkant etc). Aan de hand van de meerkeuze vragen moeten ze de foto beschrijven door antwoorden te selecteren en daarna op "zoeken" te klikken.

stap 1. Wat lukt is om antwoorden te selecteren en op zoekten te klikken. In de database wordt dan gekeken of de gegeven antwoorden kloppen. Zo ja, dan verschijnt een " gelukt " pagina. Zo niet (dus als ook maar 1 antwoord fout is) verschijnt een "niet gelukt" pagina. De student kan dan terug gaan naar de pagina met antwoorden en zijn antwoorden aanpassen.

stap 2. Wat ik graag zou willen is dat als een antwoord fout is dat de keuzepagina wordt getoond waarbij de foute antwoorden zijn aangegeven zodat de student weet welke antwoorden hij moet aanpassen. Omdat ik niet goed ben in programmeer taal heef iemand mij geholpen. Maar hij weet ook niet hoe hij stap 2. voor elkaar kan krijgen.

Weet iemand op dit forum hoe dit zou moeten? Hieronder staat een verkorte versie waarvan ik slechts 3 vragen laat zien omdat het anders een hele lap tekst wordt. Ik hoop dat het niet te veel werk is?


Dit is het script zoals ik dat op de vragen-pagina heb:

Code:
<?php
$array_vorm = Array("rond","vierkant");
$array_kleur= array("rood","blauw","groen");
$array_grootte = array("4x4","8x8");
?>
<form  method="post" action="results.php"><br />
<div id="vorm">
          <div id="vorm1"><img src="images/vorm.gif" alt="vorm" width="75" height="75" class="vorms" /></div>
          <div id="vorm2">
<table>
                <tr><td>
                <label class="vormhead">VORM</label><br> 
   <select name="form_vorm[]" class="randmenu" size="4" multiple >
         <option><?php echo implode("</option><option>",$array_vorm); ?></option>
    </select>
    </td></tr>
    </table>
    </div>
        </div>

<div id="kleur">
          <div id="kleur1"><img src="images/kleur.gif" alt="vorm" width="75" height="75" class="kleur" /></div>
          <div id="kleur2">
<table>
                <tr><td>
                <label class="kleurhead">KLEUR</label><br> 
   <select name="form_kleur[]" class="randmenu" size="4" multiple >
         <option><?php echo implode("</option><option>",$array_kleur); ?></option>
    </select>
    </td></tr>
    </table>
    </div>
        </div>

<div id="grootte">
          <div id=" grootte 1"><img src="images/ grootte .gif" alt="vorm" width="75" height="75" class=" grootte " /></div>
          <div id=" grootte2">
<table>
                <tr><td>
                <label class=" grootte head">GROOTTE</label><br> 
   <select name="form_ grootte []" class="randmenu" size="4" multiple >
         <option><?php echo implode("</option><option>",$array_ grootte ); ?></option>
    </select>
    </td></tr>
    </table>
    </div>
        </div>

<input type="submit" class="zoekbalk" value="zoeken" />


Hierbij het script van de result-pagina:
Code:
<?php
error_reporting ( E_ALL | E_STRICT ); 
    ini_set ( 'display_errors', 1 ); 
?>

<?php
include 'connect.php';
?>
<?php
$geenbeschrijving = "De beschrijving is onjuist. 
$geenselectie = "Je hebt geen selectie gemaakt, maak eerst een selectie en klik dan op zoeken. <br/><br/>
$antwoord = "Antwoord: ";
$diagnose = "Beschrijving: ";
$diagnose2 = "Diagnose: ";
$vormeggo = "Vorm: ";
$kleureggo = "Kleur: ";
$grootteeggo = "Grootte: ";

$array_vorm = array("rond","vierkant");
$array_kleur= array("rood","blauw","groen");
$array_grootte = array("4x4","8x8");

if($_SERVER['REQUEST_METHOD'] == 'POST' ) {
    $query = "select * from foto1 where ";
    $query_init = $query;
    $first_option = true;
  if (isset($_POST["form_vorm"])){
            if ($first_option == false){
                $query .= " AND ";
                } else{
                $first_option = false;
                }
                $query .= "(";
                for ($i=0; $i<=count($_POST["form_vorm"])-1; $i++){
                if ($i == 0){
                    $query .= "(vorm LIKE '%".$_POST["form_vorm"][$i]."%') ";
                }else{
                    $query .= " OR (vorm LIKE '%".$_POST["form_vorm"][$i]."%') ";
                }
            }
            $query .= ")";
        }
                
          if (isset($_POST["form_ kleur "])){
            if ($first_option == false){
                $query .= " AND ";
                } else{
                $first_option = false;
                }
                $query .= "(";
                for ($i=0; $i<=count($_POST["form_ kleur "])-1; $i++){
                if ($i == 0){
                    $query .= "( kleur LIKE '%".$_POST["form_ kleur "][$i]."%') ";
                }else{
                    $query .= " AND (kleur LIKE '%".$_POST["form_ kleur "][$i]."%') ";
                }
            }
            $query .= ")";
        }
            
         if (isset($_POST["form_ grootte "])){
            if ($first_option == false){
                $query .= " AND ";
                } else{
                $first_option = false;
                }
                $query .= "(";
                for ($i=0; $i<=count($_POST["form_ grootte "])-1; $i++){
                if ($i == 0){
                    $query .= "( grootte LIKE '%".$_POST["form_ grootte "][$i]."%') ";
                }else{
                    $query .= " AND (grootte LIKE '%".$_POST["form_ grootte "][$i]."%') ";
                }
            }
            $query .= ")";
        }
      
           
      
    if ($query == $query_init){
            echo "<div class=\"geenbeschrijving\">" . $geenselectie . "</div>";
        }else{
        
        //echo $query."<br><br>";

           if ($result = mysql_query($query)) { 
                if (mysql_num_rows($result)<>0) { 
                    while ( $row = mysql_fetch_assoc ( $result ) ) { 
                                                echo "<div class=\"beschrijving\">" . $antwoord . "</div>"; echo "<div class=\"keuze\">" . $vormeggo . $row["VORM"]. "</div>"; echo "<div class=\"keuze2\">" . $kleureggo . $row["KLEUR"]. "</div>"; echo "<div class=\"keuze2\">" . $grootteeggo . $row["GROOTTE"]. "</div>"; </div>";   
                        $beschrijvingquery = "select BESCHRIJVING from beschrijving where Catalog_ID=".$row["ID"]; 
                        if ($beschrijvingresult = mysql_query($beschrijvingquery)) { 
                            if (mysql_num_rows($beschrijvingresult)<>0) { 
                                while ( $beschrijvingrow = mysql_fetch_assoc ( $beschrijvingresult ) ) { 
                                    echo "<div class=\"beschrijving\">" . $diagnose . "</div>"; echo "<div class=\"beschrijving2\">" . $beschrijvingrow["BESCHRIJVING"]."</div></br>";
                                 }        
                                 } else { 
                                echo "geen beschrijving<br />"; 
                            }                         }
                                     $diagnosequery = "select DIAGNOSE from diagnose where Catalog_ID=".$row["ID"]; 
                        if ($diagnoseresult = mysql_query($diagnosequery)) { 
                            if (mysql_num_rows($diagnoseresult)<>0) { 
                                while ( $diagnoserow = mysql_fetch_assoc ( $diagnoseresult ) ) { 
                                    echo "<div class=\"beschrijving\">" . $diagnose2 . "</div>"; echo "<div class=\"beschrijving2\">".$diagnoserow["DIAGNOSE"]."<br /><br />";
                                }             
                                                
                            } else { 
                                echo "geen beschrijving<br />"; 
                            } 
                        } 
                        $fotoquery = "select FOTOthumb, FOTObig from foto where Catalog_ID=".$row["ID"];
                        if ($fotoresult = mysql_query($fotoquery)) { 
                            if (mysql_num_rows($fotoresult)<>0) { 
                                while ( $fotorow = mysql_fetch_assoc ( $fotoresult ) ) { 
                                    echo "<div class=\"beschrijving4\">" .'<a title="' . $fotorow['FOTObig'] . '" href="images/big/' . $fotorow['FOTObig'] . '" rel="lightbox"><img src="images/thumb/' . $fotorow['FOTOthumb'] . '"></a></br></br><hr><hr> ';  
                                } 
                            } else { 
                                echo "<img src='geenfoto.jpg' alt='geen foto' /><br />"; 
                            } 
                        } 
                    } 
                } else { 
                    echo "<div class=\"geenhuidaandoeningen\">" . $geenhuidaandoeningen . "</div>"; 
                } 
            } 


        }
}
 
?>
 
wat was er mis
script b
PHP:
<?php
error_reporting ( E_ALL | E_STRICT ); 
    ini_set ( 'display_errors', 1 ); 

include 'connect.php';

$geenbeschrijving = "De beschrijving is onjuist." ;//[ERROR]
$geenselectie = "Je hebt geen selectie gemaakt, maak eerst een selectie en klik dan op zoeken. <br/><br/>";//[ERROR]
$antwoord = "Antwoord: ";
$diagnose = "Beschrijving: ";
$diagnose2 = "Diagnose: ";
$vormeggo = "Vorm: ";
$kleureggo = "Kleur: ";
$grootteeggo = "Grootte: ";
$array_vorm = array("rond","vierkant");
$array_kleur= array("rood","blauw","groen");
$array_grootte = array("4x4","8x8");
if($_SERVER['REQUEST_METHOD'] == 'POST' ) {
    $query = "select * from foto1 where ";
    $query_init = $query;
    $first_option = true;
  if (isset($_POST["form_vorm"])){
            if ($first_option == false){
                $query .= " AND ";
                } else{
                $first_option = false;
                }
                $query .= "(";
                for ($i=0; $i<=count($_POST["form_vorm"])-1; $i++){
                if ($i == 0){
                    $query .= "(vorm LIKE '%".$_POST["form_vorm"][$i]."%') ";
                }else{
                    $query .= " OR (vorm LIKE '%".$_POST["form_vorm"][$i]."%') ";
                }
            }
            $query .= ")";
        }
          if (isset($_POST["form_ kleur "])){
            if ($first_option == false){
                $query .= " AND ";
                } else{
                $first_option = false;
                }
                $query .= "(";
                for ($i=0; $i<=count($_POST["form_ kleur "])-1; $i++){
                if ($i == 0){
                    $query .= "( kleur LIKE '%".$_POST["form_ kleur "][$i]."%') ";
                }else{
                    $query .= " AND (kleur LIKE '%".$_POST["form_ kleur "][$i]."%') ";
                }
            }
            $query .= ")";
        }
         if (isset($_POST["form_ grootte "])){
            if ($first_option == false){
                $query .= " AND ";
                } else{
                $first_option = false;
                }
                $query .= "(";
                for ($i=0; $i<=count($_POST["form_ grootte "])-1; $i++){
                if ($i == 0){
                    $query .= "( grootte LIKE '%".$_POST["form_ grootte "][$i]."%') ";
                }else{
                    $query .= " AND (grootte LIKE '%".$_POST["form_ grootte "][$i]."%') ";
                }
            }
            $query .= ")";
        }
    if ($query == $query_init){
            echo "<div class=\"geenbeschrijving\">" . $geenselectie . "</div>";
        }else{       
        //echo $query."<br><br>";
           if ($result = mysql_query($query)) { 
                if (mysql_num_rows($result)<>0) { 
                    while ( $row = mysql_fetch_assoc ( $result ) ) { 
                        echo "<div class=\"beschrijving\">" . $antwoord . "</div>";
                        echo "<div class=\"keuze\">" . $vormeggo . $row["VORM"]. "</div>";
                        echo "<div class=\"keuze2\">" . $kleureggo . $row["KLEUR"]. "</div>";
                         echo "<div class=\"keuze2\">" . $grootteeggo . $row["GROOTTE"]. "</div>";
                          echo "</div>";//[ERROR]   
                        $beschrijvingquery = "select BESCHRIJVING from beschrijving where Catalog_ID=".$row["ID"]; 
                        if ($beschrijvingresult = mysql_query($beschrijvingquery)) { 
                            if (mysql_num_rows($beschrijvingresult)<>0) { 
                                while ( $beschrijvingrow = mysql_fetch_assoc ( $beschrijvingresult ) ) { 
                                    echo "<div class=\"beschrijving\">" . $diagnose . "</div>"; echo "<div class=\"beschrijving2\">" . $beschrijvingrow["BESCHRIJVING"]."</div></br>";
                                 }        
                                 } else { 
                                echo "geen beschrijving<br />"; 
                            }                         }
                                     $diagnosequery = "select DIAGNOSE from diagnose where Catalog_ID=".$row["ID"]; 
                        if ($diagnoseresult = mysql_query($diagnosequery)) { 
                            if (mysql_num_rows($diagnoseresult)<>0) { 
                                while ( $diagnoserow = mysql_fetch_assoc ( $diagnoseresult ) ) { 
                                    echo "<div class=\"beschrijving\">" . $diagnose2 . "</div>"; echo "<div class=\"beschrijving2\">".$diagnoserow["DIAGNOSE"]."<br /><br />";
                                }             
                            } else { 
                                echo "geen beschrijving<br />"; 
                            } 
                        } 
                        $fotoquery = "select FOTOthumb, FOTObig from foto where Catalog_ID=".$row["ID"];
                        if ($fotoresult = mysql_query($fotoquery)) { 
                            if (mysql_num_rows($fotoresult)<>0) { 
                                while ( $fotorow = mysql_fetch_assoc ( $fotoresult ) ) { 
                                    echo "<div class=\"beschrijving4\">" .'<a title="' . $fotorow['FOTObig'] . '" href="images/big/' . $fotorow['FOTObig'] . '" rel="lightbox"><img src="images/thumb/' . $fotorow['FOTOthumb'] . '"></a></br></br><hr><hr> ';  
                                } 
                            } else { 
                                echo "<img src='geenfoto.jpg' alt='geen foto' /><br />"; 
                            } 
                        } 
                    } 
                } else { 
                    echo "<div class=\"geenhuidaandoeningen\">" . $geenhuidaandoeningen . "</div>"; 
                } 
            } 
        }
}
?>
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan