מחיקת תלמיד - DELETE
הקובץ grade_delete.php מוחק מן הטבלה נתונים לגבי תלמיד שנמצא בקורס.
כדי למחוק שורה מטבלה, אנו משתמשים בשאילתת DELETE של שפת SQL. באופן כללי, שאילתת DELETE של שפת SQL נראית כך (רצוי לקרוא הסבר מפורט יותר במקורות אחרים):
DELETE query
DELETE FROM table_name/* | מחיקת נתונים מהטבלה table_name ... | */ |
[WHERE where_condition]/* | שורות שמקיימות את התנאי where_condition ... | */ |
[ORDER BY order_criteria]/* | סידור שורות לפי הקריטריון order_criteria ... (בדר"כ מציינים מספר או שם עמודה) | */ |
[LIMIT num_rows]/* | הגבלת מספר השורות למחיקה למספר num_rows ... | */ |
קטע הקוד הבא מדפיס טופס לקבלת מספר הזהות של התלמיד למחיקה.
file name: grade_delete.php (second part)
<?php if (!isset($_POST["grade_delete_button"]))/* | אם כפתור השליחה של הטופס לא מוגדר, אז מדפיסים את הטופס. | */ |
{
//printing the form (and its old data, if was submitted before):
?>
<FORM action="<?=
$_SERVER[
"PHP_SELF"];
?>" method="POST">
<P>הקש את מספר תעודת הזהות של התלמיד אותו אתה רוצה למחוק מן הרשימה:<BR><INPUT type="TEXT" name="grade_delete_idnum" value="<?=
$_POST[
"grade_delete_idnum"]
?>" size=15 maxlength=9> <INPUT type="SUBMIT" name="grade_delete_button" value=" מחק "></P>
</FORM>
<? }
?>
קטע הקוד הבא בודק את שדה מספר הזהות שנשלח מן הטופס, ומדפיס הודעת שגיאה במקרה של טעות. אם מספר הזהות הוא חוקי, אז מנסים למחוק את התלמיד מן הרשימה.
חשוב לציין שהקוד הבא מופיע לפני הקוד של הדפסת הטופס.
file name: grade_delete.php (first part)
<?php include "grade_connect.php";
//connecting to MySQL server and DB
if (isset($_POST["grade_delete_button"])) {
//cheking for errors:
if (preg_match("/^\d{8,9}$/",$_POST["grade_delete_idnum"])==0)/* | אם מספר הזהות שהוכנס הוא לא בן 8 או 9 ספרות. | */ |
{
echo "<BR><FONT color=\"#FF0000\">מספר הזהות שהכנסת הוא לא חוקי.</FONT><BR>";
unset($_POST["grade_delete_button"]);/* | מוחק את הנתון של כפתור השליחה, כך שנוכל להדפיס את הטופס שוב לצורך נתונים. | */ |
}
else/* | אם שדה מספר הזהות הוא חוקי. | */ |
{
//building sql query:
$grade_delete_query=
"DELETE FROM ".$grade_course_table." WHERE id_number='".$_POST["grade_delete_idnum"]."'"/* | שאילתת ה-delete שבנינו בעזרת השדה שקיבלנו מן הטופס. | */ |
;
$grade_result=@mysql_query($grade_delete_query,$grade_con) or die("<BR><BR><B>ERROR:<B> error occured in mysql query.<BR>");/* | מריצים את השאילתא ושומרים את התוצאה ב-$grade_result . (לא ממש עושים שימוש במשתנה זה). במקרה של כשלון, הסקריפט נעצר. | */ |
if (mysql_affected_rows()==0) {
echo "<BR><FONT color=\"#FF0000\"><B>מספר הזהות שהכנסת לא נמחק מן הרשימה.<BR>(ייתכן והמספר לא קיים כלל ברשימה).</B></FONT><BR>";
unset(
$_POST[
"grade_delete_button"]);
}
else/* | אם התלמיד נמחק מן הרשימה. | */ |
{
echo "<BR><B>התלמיד (מספר זהות: ".
$_POST[
"grade_delete_idnum"].
") נמחק מן הרשימה.</B><BR>";
echo "<BR><A href=\"".
$_SERVER[
"PHP_SELF"].
"\">מחק תלמיד נוסף מן הרשימה</A><BR>";
}
}
}
?>