Monday, May 4, 2009

Απορία:Καθηγητής ->επεξεργασία των στοιχείων των μαθητών του

ZHTOYMENO : "Οι Καθηγητές θα έχουν γενική πρόσβαση σε όλους τους μαθητές της τάξης τους και σε όλα τα πεδία που αφορούν καταχώρηση, μεταβολή και διαγραφή. Επίσης μπορεί να έχουν πρόσβαση και σε όλους τους μαθητές του σχολείου, μόνο ως προς την ενημέρωση και όχι ως προς οποιαδήποτε μεταβολή των στοιχείων τους."


ΤΙ ΕΧΩ ΚΑΝΕΙ :

Ο πίνακας (sql) 'apousies' για τις απουσίες για τα μαθήματα θα δημιουργήσω άλλο πίνακα. Οπως φαίνεται στο phpmyadmin.

Image and video hosting by TinyPic

όπου Α1a --> Α(=Α έτος) 1(1ο τετράμηνο) a(αδικαιολόγητες απουσίες)

Α2d-> Α έτος 2ο τετράμηνο δικαιολογημένες απουσίες

...και ούτω καθεξής


ΤΙ ΕΜΦΑΝΙΖΕΙ Ο BROWSER:


Image and video hosting by TinyPic
  • (με τα input name της φόρμας... το "submitted" είναι το hidden για να εφαρμόσω μετά if function για όταν κάνει submit/αλλαγή ο χρήστης)


Image and video hosting by TinyPic


Ο ΚΩΔΙΚΑΣ ΓΙΑ ΤΟ ΚΟΜΜΑΤΙ:


---------------

if ($teacherclass=="e") // αν επιλέξει ο χρήστης "teacher" από dropdownmenu την επιλογή με
//value=e δηλαδή να μπορεί να επεξεργαστεί το απουσολόγιο των μαθητών της τάξης του
{
include ("config.php"); // σύνδεση με τη βάση
$con=mysql_connect($dbhost,$dbuser,$dbpass)
or die("Cannot connect to database");
mysql_select_db('dbusers'); // η βάση λέγεται dbusers
mysql_query("set names utf8;"); // για να δέχεται κωδικοποιήση utf8


echo "<br>Το τμήμα σας:";

$myclass= $_SESSION['myclass']['class']; // Αυτό είναι το sessesion που ξεκινάει όταν κάνει login ο χρήστης

echo $myclass; //π.χ. Β1
echo "<br>";
echo "<br>";


$query = "SELECT * FROM apousies WHERE class = '$myclass' " ; //διαλέγει όλες τις καταχωρήσεις από το table 'απουσίες' όπου στη στήλη
//τάξη/class ισούται με την τάξη του καθηγητή δηλ : $myclass
$result = mysql_query($query);



while ($row= mysql_fetch_array($result)){
// εμφανίζει κάθε μαθητή με το ονομα του και τις απουσίες του σε κάθε τετράμνο δικαιολογημένες και αδικαιολόγητες

//

echo "<table width=800 border=1 cellpading=1>
<tr>
<td><b>Όνομα χρήστη :</b></td>
<td>".$row['realname']."</td>

</tr>
<tr>
<td>αδικαιολόγητες απουσίες Α έτους Α τετραμήνου:</td>
<td>".$row['A1a']."</td>
<td>

<form action='apousies.php' method='POST' accept-charset='UTF-8'>

<input type='hidden' name='submitted' value=1>

<input type='text' name='A1a'>
<input type='submit' name='submit1' value='Αλλαγή'></td>

</tr>
<tr>
<td>δικαιολογημένες απουσίες Α έτους Α τετραμήνου:</td>
<td>". $row['A1d']."</td>
<td><input type='text' name='A1d'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>αδικαιολόγητες απουσίες Α έτους Β τετραμήνου:</td>
<td>".$row['A2a']."</td>
<td><input type='text' name='A2a'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>δικαιολογημένες απουσίες Α έτους Β τετραμήνου:</td>
<td>".$row['A2d']."</td>
<td><input type='text' name='A2d'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>αδικαιολόγητες απουσίες B έτους Α τετραμήνου:</td>
<td>".$row['B1a']."</td>
<td><input type='text' name='B1a'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>δικαιολογημένες απουσίες B έτους Α τετραμήνου:</td>
<td>".$row['B1d']."</td>
<td><input type='text' name='B1d'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>αδικαιολόγητες απουσίες B έτους Β τετραμήνου:</td>
<td>".$row['B2a']."</td>
<td><input type='text' name='B2a'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>δικαιολογημένες απουσίες B έτους B τετραμήνου:</td>
<td>".$row['B2d']."</td>
<td><input type='text' name='B2d'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>αδικαιολόγητες απουσίες Γ έτους Α τετραμήνου:</td>
<td>".$row['C1a']."</td>
<td><input type='text' name='C1a'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>δικαιολογημένες απουσίες Γ έτους Α τετραμήνου:</td>
<td>".$row['C1d']."</td>
<td><input type='text' name='C1d'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>αδικαιολόγητες απουσίες Γ έτους Β τετραμήνου:</td>
<td>".$row['C2a']."</td>
<td><input type='text' name='C2a'><input type='submit' name='submit' value='Αλλαγή'></td>
</tr>
<tr>
<td>δικαιολογημένες απουσίες Γ έτους B τετραμήνου:</td>
<td>".$row['C2d']."</td>
<td><input type='text' name='C2d'><input type='submit' name='submit' value='Αλλαγή'></form></td>
</tr>
</table> ";

echo "<br>";
echo "<br>";


if ($_POST['submitted']==1) {

// ΕΔΩ ΠΡΕΠΕΙ ΝΑ ΜΠΕΙ ΜΕ ΤΙΣ ΕΝΤΟΛΕΣ ΓΙΑ ΤΗΝ SQL UPDATE κλπ


}



}
}

ΤΙ ΖΗΤΑΩ :

Πως θα γίνει έτσι ώστε η αλλαγή που θα βάλω να μην περάσει σε όλες τις σειρές/rows/μαθητές αλλά μόνο σε αυτόν που θα διαλέξω ;

Πως θα τροποποιήσω την form/φόρμα και τα input boxes ;

Μπορεί να εμφανίζονται μια χαρά μέσω του while και fetch array

αλλά πως θα γίνει λειτουργική η δυνατότητα αλλαγής κάθε σειράς (π.χ. αδικαιολόγητες απουσίες για Β τετράμηνο τη Γ χρονιά για 1 συγκεκριμένο μαθητή ;).




ΚΑΙ ΕΔΩ ΜΕΡΙΚΕΣ ΛΥΣΕΙΣ ΚΑΙ ΠΡΟΤΑΣΕΙΣ


http://www.freestuff.gr/forums/viewtopic.php?p=406502


No comments:

Post a Comment