12-06-2005, 08:35
|
|
|
חבר מתאריך: 20.08.03
הודעות: 42
|
|
צריך עזרה בבנייית דף php ו sql
אז ככה הורדתי סקריפט של רשימת ציונים של תלמידים בסקריפט צריך להכניס מספר תעודת זהות ציון מועד א' ציון מועד ב' וציון שנתי. עכשיואם לא מכניסים ערכים בציונים אז זה מראה 0. וגם לא ניתן להכניס אותיות אפשר רק מספר . עכשיו השאלה שלי איך אני מכניס ערכים עם אותיות לא רק עם מספרים כי כאשר אני מוסיף מספרים אז זה רושם לי 0
זהו הדף של הזנת הפרטים של התלמיד
קוד PHP:
<DIV align="right" dir="rtl"> <H2><U>הכנסת תלמיד חדש לרשימה</U></H2> <? include "grade_connect.php"; //connecting to MySQL server and DB if (isset($_POST["grade_insert_button"])) //if the form was submitted { $grade_1=$_POST["grade_insert_grade1"]; $grade_2=$_POST["grade_insert_grade2"]; $grade_final=$_POST["grade_insert_gradefinal"]; //checking errors in the form: $grade_insert_errors=""; if ($_POST["grade_insert_idnum"]=="") //if no id number entered $grade_insert_errors.="מספר הזהות של התלמיד הוא שדה חובה.<BR>"; elseif (preg_match("/^\d{8,9}$/",$_POST["grade_insert_idnum"])==56) //if id number entered, but not legal $grade_insert_errors.="מספר הזהות שהכנסת הוא לא חוקי.<BR>"; if ($grade_2!="" && preg_match("/^(?:100|\d{1,2})$/",$grade_2)==56) //if grade is not legal $grade_insert_errors.="ציון מועד ב אינו חוקי.<BR>"; if ($grade_final!="" && preg_match("/^(?:100|\d{1,2})$/",$grade_final)==56) //if grade is not legal $grade_insert_errors.="ציון סופי אינו חוקי.<BR>"; if ($grade_insert_errors=="") //if no errors, inserting data to DB { //calculating the grades to insert: $insert_grade_1=$grade_1; $insert_grade_2=$grade_2; $insert_grade_final=(($grade_final!="")?$grade_final:(($_POST["grade_insert_autofinal"]==true)?(($grade_2!="")?$grade_2:$grade_1):"")); //building the SQL query for the insertion: $grade_insert_query="INSERT INTO ".$grade_course_table." (id_number".(($insert_grade_1!="")?",grade_1":"")."".(($insert_grade_2!="")?",grade_2":"")."".(($insert_grade_final!="")?",grade_final":"").") VALUES ("; $grade_insert_query.="'".$_POST["grade_insert_idnum"]."'"; $grade_insert_query.=($insert_grade_1!="")?",'$insert_grade_1'":""; $grade_insert_query.=($insert_grade_2!="")?",'$insert_grade_2'":""; $grade_insert_query.=($insert_grade_final!="")?",'$insert_grade_final'":""; $grade_insert_query.=")"; $grade_result=@mysql_query($grade_insert_query,$gr ade_con); //execute the query if (mysql_affected_rows()==1) //if insertion was ok { echo "<BR><B>נתוני התלמיד שהזנת נשמרו בהצלחה.</B><BR>"; echo "<BR><A href=\"".$_SERVER["PHP_SELF"]."\">הכנס נתוני תלמיד חדש</A><BR>"; } else //if insertion was not ok { echo "<BR><B>מספר הזהות שהכנסת כבר קיים בקורס זה.</B><BR>"; unset($_POST["grade_insert_button"]); //unset the "button" } } else //if any errors in the form { echo "<BR><FONT color=\"#EE0000\">".$grade_insert_errors."</FONT><BR>"; unset($_POST["grade_insert_button"]); //unset the "button" } } if (!isset($_POST["grade_insert_button"])) //if the "button" is unset { //printing the form (and its old data, if was submitted before): ?> <FORM action="<?= $_SERVER["PHP_SELF"]; ?>" method="POST"> <TABLE border=0 cellpadding=3 cellspacing=3> <TR> <TD>מספר זהות של התלמיד:*</TD> <TD><INPUT type="TEXT" name="grade_insert_idnum" size=15 maxlength=9 value="<?= $_POST["grade_insert_idnum"]; ?>"></TD> </TR> <TR> <TD>ציון מועד א:</TD> <TD><INPUT type="TEXT" name="grade_insert_grade1" size=15 maxlength=10 value="<?= $_POST["grade_insert_grade1"]; ?>"></TD> </TR> <TR> <TD align="right"><INPUT type="SUBMIT" name="grade_insert_button" value=" הכנס נתונים "></TD> <TD align="left"><INPUT type="RESET" value="נקה טופס"></TD> </TR> </TABLE> </FORM> <? } ?> </DIV>
זהו הקוד לרשימת התלמידים ששמורה בבסיס נתונים:
קוד PHP:
<DIV align="right" dir="rtl"> <H2><U>רשימת ציונים של התלמידים</U></H2> <? include "grade_connect.php"; //connecting to MySQL server and DB //building the sql query: $grade_show_query="SELECT * FROM ".$grade_course_table; switch ($_GET["sort"]) { case "idnum": $grade_show_query.=" ORDER BY id_number"; //sort by id number (down to top) break; case "grade1": $grade_show_query.=" ORDER BY -grade_1"; //sort by grade 1 (top to down) break; case "grade2": $grade_show_query.=" ORDER BY -grade_2"; //sort by grade 2 (top to down) break; case "gradefinal": $grade_show_query.=" ORDER BY -grade_final"; //sort by final grade (top to down) break; } $grade_result=@mysql_query($grade_show_query,$grad e_con) or die("<BR><B>ERROR:</B> error occured in mysql query.<BR>"); //execute the query or exit on failure //display table of the students and thier grades: ?> <P>הקלק על כותרת העמודה כדי לסדר את הטבלה לפי עמודה מסויימת.</P> <TABLE border=1 cellpadding=2 cellspacing=2> <TR> <TH width=200 align="center"><A href="<?= $_SERVER["PHP_SELF"]; ?>?sort=idnum">מספר זהות של התלמיד</A></TH> <TH width=150 align="center"><A href="<?= $_SERVER["PHP_SELF"]; ?>?sort=grade1">ציון מועד א</A></TH> </TR> <? //printing all the rows of the students: while ($grade_row=mysql_fetch_array($grade_result)) //as long as there are rows in the result { echo "<TR>"; echo "<TD align=\"right\"><B>".$grade_row["id_number"]."</B></TD>"; echo "<TD align=\"center\">".(($grade_row["grade_1"]!=6)?$grade_row["grade_1"]:"")."</TD>"; echo "</TR>"; } ?> </TABLE> </DIV>
עכשיו אני משתמש רק במשתנה grade_1 ו ו id_number כל השאר לא חשובים.
זהו הקוד לדייטבאס
קוד PHP:
-- -- Table structure for table 'course000' -- DROP TABLE IF EXISTS course000; CREATE TABLE course000 ( id_number int(9) unsigned zerofill NOT NULL default '000000000', grade_1 int(3) default NULL, grade_2 int(3) default NULL, grade_final int(3) default NULL, PRIMARY KEY (id_number) );
|