Autor Zpráva
Petr Kosáček
Profil *
Dobrý den,
potřeboval bych pomoct s úpravou elektronického známkování. Součastná aplikace fungovala tak, že se známky zapisovali po jednom na stránce zadávání. Upravovat se mohlo na stránce úpravy a mazat na mazání. Známky se zadávali po jednom, s unikátním ID a datumem. Teď by měla být pouze jedna stránka, kde by se známky zadávali do textového pole najednou (př. 1, 4, 3, 1) a mohli by se tam jak zadávat tak upravovat. Toto pole by bylo pouze jednou v databázi pro konkrétní předmět a studenta. Je třeba upravit(spojit) dva scripty - zadávání a úpravy. Úpravy by se dali použít jako výchozí, ale pokud ještě neni zadána žádná známka nevypíšou se studenti a nelze jim známky zadat. Musí se vytvořit podmínka, která vypíše studenty, i když ještě nemají nic zadáno.

Dělal jsem to před dvěma lety a s pomocí, takže mi nepomohou rady, ale jen upravený script (php prostě skoro neovládám). Moc prosím o pomoc, v pondělí by to mělo být hotovo.

Přikládám scripty
Zadávání
<? /*Sem je nutno doplnit údaje k databázi*/
include("pripojeni_db.php");

if(isset($_POST[predmet_vyber])) {//u jednotlivých žáků jsou vybrány známky, je vybrán předmět, uložíme známky - 3. krok
foreach($_POST[znamka] as $zak => $znamka){
if ($znamka!=6){mysql_query("insert into znamky (ID_ZACI, ID_PREDMET, znamka) values ('$zak','$_POST[predmet_vyber]','$znamka')");}}
echo "<br>Známky byly přidány.<br><a href=http://www.sos-veseli.cz/znamky/index.php>Zpět</a>";
}elseif(isset($_POST[trida_vyber])){//je vybrána třída, vybereme předmět a nastavíme známky žáků - 2. krok
?>
<form method="post" onsubmit="return kontrolaDat(this)">
                <select name="predmet_vyber">
<option value="0">Vyber předmět</option>
    <?
                   $vysledek=mysql_query("select predmety.ID_PREDMET, predmety.zkratka FROM predmety JOIN predmety_tridy ON predmety.ID_PREDMET=predmety_tridy.ID_PREDMET WHERE predmety_tridy.ID_TRIDY='$_POST[trida_vyber]' ORDER BY ID_PREDMET");
                   while ($zaznam=MySQL_Fetch_Array($vysledek))
                  {echo "<option value='$zaznam[ID_PREDMET]'>$zaznam[zkratka]</option>";}
                echo '</select><table align=center><tr><th>Žák</th><th>Známka</th></tr>';
                  $vysledek=mysql_query("select * FROM znamky JOIN zaci ON znamky.ID_ZACI=zaci.ID_ZACI JOIN predmety on znamky.ID_predmet=predmety.ID_PREDMET JOIN tridy on zaci.ID_TRIDY=tridy.ID_TRIDY WHERE zaci.ID_TRIDY='$_POST[trida_vyber]' and znamky.ID_PREDMET='$_POST[predmet_vyber]' order by prijmeni");
                     while ($zaznam=MySQL_Fetch_Array($vysledek)){
                   echo "<tr><td>$zaznam[jmeno] $zaznam[prijmeni]</td><td><input name='znamka[$zaznam[ID]]' type='text' value=$zaznam[znamka]></td></tr>";
                   }
echo '</table>
<input type="submit" name="posli" value="Uložit"></form>';

}else{//je nutno vybrat konkrétní třídu ze seznamu - 1. krok

echo '<form method="post" name="trida">
                <select name="trida_vyber" onchange="document.trida.submit()">
<option value="0">Vyber třídu</option>';

                   $vysledek=mysql_query("select * FROM tridy");
                   while ($zaznam=MySQL_Fetch_Array($vysledek))
                  {echo "<option value='$zaznam[ID_TRIDY]'>$zaznam[trida]</option>";}
echo "        </select>
</form>";
}
?>

Script pro úpravy

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

<title>Elektronické známkování</title>
<link rel="stylesheet" href="style.css" type="text/css">

</head>
<body>
<? /*Sem je nutno doplnit údaje k databázi*/
include("pripojeni_db.php");

if(isset($_POST[predmet_vyber])) {
?>
<table align="center" border="0">
<form method="post" action="nahrani_opravenych.php" name="opravit">
<?};
$jmeno=false;
if(isset($_POST[predmet_vyber])) {//u jednotlivých žáků jsou vybrány známky, je vybrán předmět, uložíme známky - 3. krok
$vysledek=mysql_query("select * FROM znamky JOIN zaci ON znamky.ID_ZACI=zaci.ID_ZACI JOIN predmety on znamky.ID_predmet=predmety.ID_PREDMET JOIN tridy on zaci.ID_TRIDY=tridy.ID_TRIDY WHERE zaci.ID_TRIDY='$_POST[trida_vyber]' and znamky.ID_PREDMET='$_POST[predmet_vyber]' order by prijmeni");
                   $zaznam=MySQL_Fetch_Array($vysledek);
                    echo "$zaznam[trida] $zaznam[zkratka]";
                    $vysledek=mysql_query("select * FROM znamky JOIN zaci ON znamky.ID_ZACI=zaci.ID_ZACI JOIN predmety on znamky.ID_predmet=predmety.ID_PREDMET JOIN tridy on zaci.ID_TRIDY=tridy.ID_TRIDY WHERE zaci.ID_TRIDY='$_POST[trida_vyber]' and znamky.ID_PREDMET='$_POST[predmet_vyber]' order by prijmeni");
                     while ($zaznam=MySQL_Fetch_Array($vysledek)){
                    if($zaznam[jmeno]!=$jmeno){
                    echo "<tr><td colspan=2 class=pruh>$zaznam[jmeno] $zaznam[prijmeni]</td></tr>";}
          SetLocale(LC_ALL, "Czech");
                    echo "<td><input value=$zaznam[znamka] name=znamka[$zaznam[ID_zaci]] size=8 type='text'></td></tr>";    
                  $jmeno=$zaznam[jmeno];
                    }                    
                    
                     ?>
                     <tr><td colspan="2">
                     <input type="submit" name="posli" value="Opravit"> </td></tr>
                     </form>
                     </table>
            <? 
                    
             }else{
          ?>
                 
<form method="post" action="oprav_znamky.php" name="oprava">        
            
<select name="trida_vyber">
                <option value="0">Vyber třídu</option>
<?
                   $vysledek=mysql_query("select * FROM tridy");
                   while ($zaznam=MySQL_Fetch_Array($vysledek))
                  {echo "<option value='$zaznam[ID_TRIDY]'>$zaznam[trida]</option>";}                
?>    
</select>
<select name="predmet_vyber">
                <option value="0">Vyber předmět</option>
<?
                   $vysledek=mysql_query("select * FROM predmety");
                   while ($zaznam=MySQL_Fetch_Array($vysledek))
                  {echo "<option value='$zaznam[ID_PREDMET]'>$zaznam[zkratka]</option>";}
                    
                
?>
</select>
<input type="submit" name="ukaz" value="Zobraz">
</form>                
    <? } ?>                


kontakt: petrkosacek@centrum.cz

Velice děkuji, všem co se mi pokusí pomoct.
Petr Kosáček

Vaše odpověď

Mohlo by se hodit

Podělte se prosím o své zkušenosti s touto kategorií Věnujte pozornost pravidlům. Zejména:
• Máte-li zájem o tuto nabídku/poptávku, využijte uvedený kontakt, nepište do diskuse.
• Držte se tématu.
  • Nepoučujte.

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0