Åtgärder

CS enkelt prov rätta

Från Skolbok

Nu har du sett hur man gör ett simpelt prov, nu är det dags att kunna rätta det också. Då får vi sätta upp likadana kontroller:

De fält som behöver kunna redigeras och uppdateras är:

ELEV_ID 
PROVKOMMENTAR
RESULTAT

Alla andra uppgifter i provet skall bara visas upp på sidan, vilket gör att det går hyfsat fort att rätta provet.

Det första vi måste göra är att välja rätt prov. Det sker i det här fallet med en flervalsruta. Det finns säkert bättre sätt att göra det på, men knappast enklare.

Nackdelen med detta är att om du har mängder med prov inlagda i databasen får du hundratals poster att visa upp och valen går långt under skärmkanten. Då får du begränsa sökningen ändå mer (jag skall visa hur det går till, oroa dig inte).


<?php
session_start();//Behåll inloggningsbiljetten
//Filnamn  RaettaSimpeltProv.php

//Olika viktiga variabler
$host="localhost"; // Host , på en privat dator duger oftast localhost
$username="root"; // Mysql användarnamn, antagligen root
$password="password1"; // Lösenord till root, kan t.ex. vara password1
$db_name="skolan"; // Databasens namn

// Anslut till MySQL servern och välj rätt tabell
mysql_connect("$host", "$username", "$password")or die("Kan inte ansluta till databasen");
mysql_select_db("$db_name")or die("Kan inte välja datatabellen");

//Har vi fått in ett prov id?
 if($_POST['formSubmit'] == "OK")
{
$provid = $_POST['provid'];
}
else
{
$provid=0;
}

//Har man tryckt på knappen?
if($_POST['formSubmit'] == "Spara")
{
$valtprov = $_POST['valtprov'];
$elev_id=$_POST['elev_id'];
$provkommentar=$_POST['provkommentar'];
$resultat=$_POST['resultat'];
$inskickat = 'true';
}
Else
{
$valtprov=0;
$elev_id=0;
$provkommentar=’’;
$resultat=’’;
$inskickat = 'false';
}

$elev_fnamn = ’’;
$elev_enamn = ’’;
$elev_klass = ’’;
$elev_hemligt = ’’;
$provnamn=’’;
$facit=’’;
$elevsvar=’’;
$datumgjort=’’;
$datumraettat=date('Y-m-d H:i:s');
$prov_id=1;
//Ta fram informationen från databasen
$result = mysql_query("SELECT * FROM simpeltprov where prov_id = ".$prov_id);

while($row = mysql_fetch_array($result))
 {
$prov_id=$row['ID'];;
$elev_fnamn  = $row['F_NAMN'];
$elev_enamn = $row['E_NAMN'];
$elev_klass = $row['KLASS'];
$elev_hemligt = $row['HEMLIGTORD'];
$provnamn=$row['PROVNAMN'];
$facit=$row['FACIT'];
$elevsvar=$row['ELEVSVAR'];
$datumgjort=$row['DATUMGJORT'];
 }

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="sv-SE">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Rättning av enkelt prov </title>
</head>

<body>
<form>

<?php
//vi behöver ett sätt att välja ut ett prov att rätta på
$querylistbox="SELECT name,id FROM simpleprov";

$result = mysql_query ($querylistbox);
echo "<select name=valtprov value=>Provnamn</option>";
// Skriv ut varje sparat prov

while($nt=mysql_fetch_array($result)){//tabellraden sparas i $nt
echo "<option value=$nt[ID]>$nt[PROVNAMN]</option>";
/* Genom att stega ner genom tabellen visas ala proven upp */
}
echo "</select>";// Avsluta boxen
?>

<b>Elev ID-nummer</b><br>
<input name="elev_id" type="text" id="elev_id" value= <?=$elevid;?>><br>
<i>Ändra bara om du vet elevens ID.</i><br>

<b>Provkommentar<b><br>
<textarea name="provkommentar" rows="10" cols="76"><?=$provkommentar;?> </textarea><br>

<b>Resultat</b><br>
<input name="resultat" type="text" id="resultat" value= <?=$resultat;?>><br>


<input type="hidden" name="inskickat" value="<?=$inskickat;?>" >

<br>
<input type="submit" name="formSubmit" value="Spara" />
</form>

</body>
</html>