Autor | Zpráva | ||
---|---|---|---|
Petr Kosáček Profil * |
#1 · Zasláno: 11. 3. 2012, 13:38:17
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 |
||
Časová prodleva: 12 let
|
0