CS enkelt prov rätta: Skillnad mellan sidversioner
Från Skolbok
Ingemar (diskussion | bidrag) mIngen redigeringssammanfattning |
Ingemar (diskussion | bidrag) Ingen redigeringssammanfattning |
||
| Rad 12: | Rad 12: | ||
<?php | |||
session_start();//Behåll inloggningsbiljetten | session_start();//Behåll inloggningsbiljetten | ||
//Filnamn | //Filnamn simpeltprov_raetta.php | ||
//Olika viktiga variabler | //Olika viktiga variabler | ||
| Rad 24: | Rad 24: | ||
// Anslut till MySQL servern och välj rätt tabell | // Anslut till MySQL servern och välj rätt tabell | ||
mysql_connect("$host", "$username", "$password")or die("Kan inte ansluta till databasen"); | mysql_connect("$host", "$username", "$password")or die("Kan inte ansluta till databasen"); | ||
mysql_select_db("$db_name")or die("Kan inte välja | mysql_select_db("$db_name")or die("Kan inte välja rätt databas."); | ||
//Har vi fått in ett prov id? | //Har vi fått in ett prov id? | ||
if($_POST['formSubmit'] == "OK") | if($_POST['formSubmit']== "Spara" || $_POST['formSubmit']== "OK" ) | ||
{ | { | ||
$provid = $_POST['provid']; | $provid = $_POST['provid']; | ||
| Rad 33: | Rad 33: | ||
else | else | ||
{ | { | ||
$provid=0; | $provid = 0; | ||
} | } | ||
| Rad 43: | Rad 43: | ||
$provkommentar=$_POST['provkommentar']; | $provkommentar=$_POST['provkommentar']; | ||
$resultat=$_POST['resultat']; | $resultat=$_POST['resultat']; | ||
//Uppdatera databasen | |||
if ($provid > 0) | |||
{ | |||
$datumraettat=date('Y-m-d H:i:s'); | |||
$sqlupp = "UPDATE simpeltprov set ELEV_ID=".$elev_id.", PROVKOMMENTAR='".$provkommentar."', RESULTAT='".$resultat."', DATUM_RATTAT='".$datumraettat."' where ID = ".$provid; | |||
mysql_query($sqlupp) or die(mysql_error()); | |||
} | |||
} | } | ||
//Ta fram informationen från databasen | //Ta fram informationen från databasen | ||
$ | $sqlres = "SELECT * FROM simpeltprov where id = ".$provid; | ||
$result = mysql_query ($sqlres) or die(mysql_error()); | |||
while($row = mysql_fetch_array($result)) | while($row = mysql_fetch_array($result)) | ||
{ | { | ||
$ | $elev_id = $row['ELEV_ID']; | ||
$elev_fnamn = $row['F_NAMN']; | $elev_fnamn = $row['F_NAMN']; | ||
$elev_enamn = $row['E_NAMN']; | $elev_enamn = $row['E_NAMN']; | ||
| Rad 77: | Rad 68: | ||
$facit=$row['FACIT']; | $facit=$row['FACIT']; | ||
$elevsvar=$row['ELEVSVAR']; | $elevsvar=$row['ELEVSVAR']; | ||
$datumgjort=$row[' | $provkommentar=$row['PROVKOMMENTAR']; | ||
$resultat=$row['RESULTAT']; | |||
$datumgjort=$row['DATUM_GJORT']; | |||
$datumrattat=$row['DATUM_RATTAT']; | |||
} | } | ||
?> | ?> | ||
| Rad 89: | Rad 84: | ||
<body> | <body> | ||
<form> | <form name="formraetta" method="post" action="simpeltprov_raetta.php"> | ||
<?php | |||
//vi behöver ett sätt att välja ut ett prov att rätta på | //vi behöver ett sätt att välja ut ett prov att rätta på | ||
$ | //Men vi måste bibehålla det valda provets id-nummer | ||
echo "<select name=provid>"; | |||
if ($provid==0){ | |||
echo "<option value=0>Välj prov</option>"; | |||
} | |||
else | |||
{ | |||
echo "<option value=".$provid.">Prov valt, id:".$provid."</option>"; | |||
} | |||
$result = mysql_query ($querylistbox); | $querylistbox="SELECT * FROM simpeltprov ORDER BY PROVNAMN, KLASS, E_NAMN"; | ||
$result = mysql_query ($querylistbox) or die(mysql_error()); | |||
while($ | while($row=mysql_fetch_array($result)) | ||
echo "<option value=$ | {//tabellraden sparas i $row | ||
/ | echo "<option value=".$row['ID'].">".$row['PROVNAMN']."-".$row['E_NAMN']." ".$row['F_NAMN']."-".$row['KLASS'].":".$row['DATUM_GJORT']."/".$row['DATUM_RATTAT']."</option>"; | ||
// Genom att stega ner genom tabellen visas alla proven upp | |||
} | } | ||
echo "</select>";// Avsluta boxen | echo "</select>";// Avsluta boxen | ||
?> | |||
<input type="submit" name="formSubmit" value="OK" /><br> | |||
<br> | |||
<b>Elev ID-nummer</b><br> | <b>Elev ID-nummer</b><br> | ||
<input name="elev_id" type="text | <input name="elev_id" type="text" value= <?=$elev_id;?>><br> | ||
<i>Ändra bara om du vet elevens ID.</i><br> | <i>Ändra bara om du vet elevens ID.</i><br> | ||
<br> | |||
<b>Provkommentar<b><br> | <b>Prov:</b><?=$provnamn;?><br> | ||
<b>Elev:</b><?=$elev_fnamn;?> <?=$elev_enamn;?> <b>Klass:</b><?=$elev_klass;?><br> | |||
<b>(Hemligt ord:</b><?=$elev_hemligt;?>)<br> | |||
<b>Inlämnat:</b><?=$datumgjort;?><br><b>Rättat:</b><?=$datumrattat;?><br> | |||
<hr> | |||
<b>Provkommentar:</b><br> | |||
<textarea name="provkommentar" rows="10" cols="76"><?=$provkommentar;?> </textarea><br> | <textarea name="provkommentar" rows="10" cols="76"><?=$provkommentar;?> </textarea><br> | ||
<b>Resultat</b><br> | <b>Resultat</b><br> | ||
<input name="resultat" type="text | <input name="resultat" type="text" value= <?=$resultat;?>><br> | ||
<br> | <br> | ||
<input type="submit" name="formSubmit" value="Spara" /> | <input type="submit" name="formSubmit" value="Spara" /> | ||
<table> | |||
<tr> | |||
<td valign="top"> | |||
<b>Elevsvar:</b><br> | |||
<?=nl2br($elevsvar);?> | |||
</td><td valign="top"> | |||
<b>Facit:</b><br> | |||
<?=nl2br($facit);?> | |||
</td> | |||
</tr> | |||
</table> | |||
</form> | </form> | ||
</body> | </body> | ||
</html> | </html> | ||
[[Kategori: Privat]] | [[Kategori: Privat]] | ||
Versionen från 13 juni 2012 kl. 12.53
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 simpeltprov_raetta.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 rätt databas.");
//Har vi fått in ett prov id?
if($_POST['formSubmit']== "Spara" || $_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'];
//Uppdatera databasen
if ($provid > 0)
{
$datumraettat=date('Y-m-d H:i:s');
$sqlupp = "UPDATE simpeltprov set ELEV_ID=".$elev_id.", PROVKOMMENTAR='".$provkommentar."', RESULTAT='".$resultat."', DATUM_RATTAT='".$datumraettat."' where ID = ".$provid;
mysql_query($sqlupp) or die(mysql_error());
}
}
//Ta fram informationen från databasen
$sqlres = "SELECT * FROM simpeltprov where id = ".$provid;
$result = mysql_query ($sqlres) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
$elev_id = $row['ELEV_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'];
$provkommentar=$row['PROVKOMMENTAR'];
$resultat=$row['RESULTAT'];
$datumgjort=$row['DATUM_GJORT'];
$datumrattat=$row['DATUM_RATTAT'];
}
?>
<!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 name="formraetta" method="post" action="simpeltprov_raetta.php">
<?php
//vi behöver ett sätt att välja ut ett prov att rätta på
//Men vi måste bibehålla det valda provets id-nummer
echo "<select name=provid>";
if ($provid==0){
echo "<option value=0>Välj prov</option>";
}
else
{
echo "<option value=".$provid.">Prov valt, id:".$provid."</option>";
}
$querylistbox="SELECT * FROM simpeltprov ORDER BY PROVNAMN, KLASS, E_NAMN";
$result = mysql_query ($querylistbox) or die(mysql_error());
while($row=mysql_fetch_array($result))
{//tabellraden sparas i $row
echo "<option value=".$row['ID'].">".$row['PROVNAMN']."-".$row['E_NAMN']." ".$row['F_NAMN']."-".$row['KLASS'].":".$row['DATUM_GJORT']."/".$row['DATUM_RATTAT']."</option>";
// Genom att stega ner genom tabellen visas alla proven upp
}
echo "</select>";// Avsluta boxen
?>
<input type="submit" name="formSubmit" value="OK" /><br>
<br>
<b>Elev ID-nummer</b><br>
<input name="elev_id" type="text" value= <?=$elev_id;?>><br>
<i>Ändra bara om du vet elevens ID.</i><br>
<br>
<b>Prov:</b><?=$provnamn;?><br>
<b>Elev:</b><?=$elev_fnamn;?> <?=$elev_enamn;?> <b>Klass:</b><?=$elev_klass;?><br>
<b>(Hemligt ord:</b><?=$elev_hemligt;?>)<br>
<b>Inlämnat:</b><?=$datumgjort;?><br><b>Rättat:</b><?=$datumrattat;?><br>
<hr>
<b>Provkommentar:</b><br>
<textarea name="provkommentar" rows="10" cols="76"><?=$provkommentar;?> </textarea><br>
<b>Resultat</b><br>
<input name="resultat" type="text" value= <?=$resultat;?>><br>
<br>
<input type="submit" name="formSubmit" value="Spara" />
<table>
<tr>
<td valign="top">
<b>Elevsvar:</b><br>
<?=nl2br($elevsvar);?>
</td><td valign="top">
<b>Facit:</b><br>
<?=nl2br($facit);?>
</td>
</tr>
</table>
</form>
</body>
</html>
