Gå til innhold

Kode som lager tester


Anbefalte innlegg

Har søkt litt rundt på forumet og på Hotscripts.com men finner ikke noe som tilfredsstiller meg.

 

Jeg er ute etter en kode som lager tester. Slik at folk kan lage en test, åsså får de en link til testen sin, som de kan ha på sin side.

 

Brukeren skal få velge hvor mange spørsmål han/hun vil ha, og hvor mange alternativer han/hun vil ha til hvert enkelt spørsmål.

 

Når besøkende har tatt testen vil jeg at det skal komme opp en side som viser prosent riktige.

 

mySQL er ikkeno problem hvis det trengs, har goood plass til både filer og mySQL databaser.

 

Håper noen har en kode eller vet om en. :innocent:

Lenke til kommentar
Videoannonse
Annonse

Det er et ganske omfattende arbeid å skrive noe som kan lage disse testene, ihvertfall hvis man skal holde seg til ren PHP uten JavaScript.

 

Å lage noe som kan vise testene og la folk løse dem er mye enklere. Dette (og dette) tok bare halvannen time. Den er helautomatisert og henter alt fra MySQL-tabeller (tre stk.). Hvis man legger inn flere navn, spørsmål og svar i databasen, så kan man hente de frem med ved å endre id i URL.

Endret av endrebjorsvik
Lenke til kommentar

Den er rotete og uten kommentarer. Den er også bare for å printe eksisterende tester. Skjult tekst: (Marker innholdet i feltet for å se teksten):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <title>Løs en test</title>
 <style type="text/css">
 	dt    { padding-top: 20px; }
 </style>
</head>

<body>
 <h1>Vis tester</h1>
 <?php
 	$mysql_link = mysql_connect('db01', '12036', 'superman') or die(mysql_error());
 	$mysql_db = mysql_select_db('12036') or die(mysql_error());

 	if (is_numeric($_GET['id']) AND !isset($_POST['submit'])) {
   
   $test_id = $_GET['id'];
   
   $get_user = mysql_query("SELECT * FROM quiz_user WHERE user_id = {$test_id}");
   while ($user = mysql_fetch_assoc($get_user)) {
   	
   	echo "<h3>{$user['name']}</h3>
   <form method='post'>\n<dl>\n";
   	
   	$get_question = mysql_query("SELECT * FROM quiz_question WHERE user_id = {$test_id}");
   	while ($question = mysql_fetch_assoc($get_question)) {
   	
     echo "\t<dt>{$question['question']}</dt>\n";
     
     $get_answer = mysql_query("SELECT * FROM quiz_answer WHERE question_id = {$question['question_id']}");
     while ($answer = mysql_fetch_assoc($get_answer)) {
     
     	echo "\t\t<dd><input type='radio' name='q{$question['question_id']}' value='{$answer['answer_id']}'> {$answer['answer']}</dd>\n";
     
     }
     
   	}
   	echo "</dl>
   	<input type='submit' name='submit' value='Send inn'>
   </form>";
   	
   }
   
 	} elseif (is_numeric($_GET['id']) AND isset($_POST['submit'])) {
   
   $answer_array = array();
   $get_answers = mysql_query("SELECT * FROM quiz_answer");
   while ($answer = mysql_fetch_array($get_answers)) {
   	$answer_array[$answer['answer_id']] = $answer['answer'];
   }
   
   $get_right_answers = mysql_query("SELECT * FROM quiz_question WHERE user_id = {$_GET['id']}");
   while ($right_answer = mysql_fetch_assoc($get_right_answers)) {
   	
   	$question_id = $right_answer['question_id'];
   	if ($_POST["q{$question_id}"] == $right_answer['correct']) {
     $right++;
     echo '<p>\'' . $answer_array[$_POST["q{$question_id}"]] . '\' er riktig!</p>';
   	} else {
     $wring++;
     echo '<p>\'' . $answer_array[$_POST["q{$question_id}"]] . '\' er feil!</p>';
   	}
   	$answers++;
   	
   }
   echo "<p>Du svarte riktig på {$right} av {$answers} spørsmål!<br>
   Det tilsvarer " . $right/$answers*100 . "%.</p>";
 	
 	} else {
 	
   echo "<p>Forespørselen: <em>{$_GET['id']}</em> er ikke korrekt</p>";
   
 	}
 ?>
</body>
</html>

Og spørringer: Skjult tekst: (Marker innholdet i feltet for å se teksten):

CREATE TABLE quiz_user (
user_id INT(4) auto_increment,
sessionID VARCHAR(50), 		# Har ingen funksjon foreløpig
name VARCHAR(50),				# Navnet på testen
dato DATETIME,
ip VARCHAR(15),
PRIMARY KEY(user_id)
)

CREATE TABLE quiz_question (
question_id INT(4) auto_increment,
user_id INT(4),
question VARCHAR(255),
correct INT(4), 				# Hvilket av svarene (answer_id) som er korrekt
PRIMARY KEY(question_id)
)

CREATE TABLE quiz_answer (
answer_id INT(4) auto_increment,
question_id INT(4),
answer VARCHAR(255),
PRIMARY KEY(answer_id)
)

Endret av endrebjorsvik
Lenke til kommentar
  • 2 uker senere...
Har søkt litt rundt på forumet og på Hotscripts.com men finner ikke noe som tilfredsstiller meg.

 

Jeg er ute etter en kode som lager tester. Slik at folk kan lage en test, åsså får de en link til testen sin, som de kan ha på sin side.

 

Brukeren skal få velge hvor mange spørsmål han/hun vil ha, og hvor mange alternativer han/hun vil ha til hvert enkelt spørsmål.

 

Når besøkende har tatt testen vil jeg at det skal komme opp en side som viser prosent riktige.

 

mySQL er ikkeno problem hvis det trengs, har goood plass til både filer og mySQL databaser.

 

Håper noen har en kode eller vet om en.  :innocent:

6936338[/snapback]

 

 

Jeg kan lage en helt slik system for deg om jeg for betalt :p

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...