_bai_2_

<?php

include('./config.php');

include('./function.php');

//nếu người dùng nhấn nút xóa

if (isset($_POST['deleterow'])) {

$id = $_POST['rowdeleting'];

$query = "DELETE FROM sinhvien WHERE masv = '{$id}'";

mysql_query($query);

$error ="Đã xóa thành công";

}

//nếu người dùng nhấn nút thêm mới

if (isset($_POST['add'])) {

$masv = $_POST['addmasv'];

$hoten = $_POST['addhoten'];

$ngaysinh = $_POST['addngaysinh'];

$gioitinh = $_POST['addgioitinh'];

$cout = 0;

$error = "<ul>";

//check lỗi

if (empty($masv) || empty($hoten) || empty($ngaysinh)) {

$error .="<li>Mã sinh viên, họ tên và ngày sinh không được để trống</li>";

$cout++;

}

$query = mysql_query("SELECT masv FROM sinhvien WHERE masv = '{$masv}'");

if (mysql_num_rows($query) > 0) {

$cout++;

$error .="<li>Mã sinh viên đã tồn tại</li>";

}

//nếu không có lỗi

if ($cout == 0) {

$query = "INSERT INTO sinhvien(masv,hoten,ngaysinh,quequan,gioitinh) 

VALUES('{$masv}','{$hoten}','{$ngaysinh}','{$quequan}','{$gioitinh}')";

$rs = mysql_query($query);

$error ="Thêm mới thành công";

} else {

$error .= "</ul>";

}

}

//nếu người dùng nhấn nút sửa

if (isset($_POST['editrow'])) {

$edited = 0; //biến kiểm tra xem trang web đang trong tình trạng sửa dữ liệu hay không

$editmasv = $_POST['editmasv'];

$edithoten = $_POST['edithoten'];

$editngaysinh = $_POST['editngaysinh'];

$editgioitinh = $_POST['editgioitinh'];

$rowedit = $_POST['rowedit'];

$index = $_POST['index'];

$oldmasv = $_POST['masv']; //mã sinh viên cũ, dùng để so sánh và check lỗi, nếu người dùng nhập mã sinh viên khác thì mới check trùng, còn không thay đổi thì k check

$cout = 0;

$error = "<ul>";

//check lỗi

if (empty($editmasv) || empty($edithoten) || empty($editngaysinh)) {

$error .="<li>Mã sinh viên, họ tên và ngày sinh không được để trống</li>";

$cout++;

}

if ( $editmasv != $oldmasv) {

$query = mysql_query("SELECT masv FROM sinhvien WHERE masv = '{$editmasv}'");

if (mysql_num_rows($query) > 0) {

$cout++;

$error .="<li>Mã sinh viên đã tồn tại</li>";

}

}

//nếu không có lỗi

if ($cout == 0) {

$query = "UPDATE sinhvien SETmasv = '{$editmasv}',

hoten = '{$edithoten}',

ngaysinh = '{$editngaysinh}',

gioitinh = '{$editgioitinh}'

WHERE masv = '{$oldmasv}'

";

mysql_query($query);

$error ="Cập nhật thành công";

$edited = 1;

} else {

$error .= "</ul>";

}

}

// mặc định sau tất cả các hành động đều select lại từ cơ sở dữ liệu về thông tin của tất cả sinh viên

$query = "SELECT masv,hoten,ngaysinh,quequan,gioitinh FROM sinhvien";

$rs = getGroupByQuery($query);

$lastIndex = count($rs) + 1; //biến này để đánh số thứ tự cho dòng cuối cùng (dòng thêm mới)

$i = 0;

for ($i = 0;$i< count($rs);$i++) {

//khởi tạo thông tin của bảng

$index = $i+1;

$tabledata .="<tr id='view-{$index}'>";

$tabledata .="<td>{$index}</td>";

$tabledata .="<td>{$rs[$i]['masv']}</td>";

$tabledata .="<td>{$rs[$i]['hoten']}</td>";

$tabledata .="<td>{$rs[$i]['ngaysinh']}</td>";

$tabledata .="<td>{$rs[$i]['gioitinh']}</td>";

$tabledata .="<td><a href='javascript:' onclick='editrow(\"view-{$index}\",

\"{$index}\",

\"{$rs[$i]['masv']}\",

\"{$rs[$i]['hoten']}\",

\"{$rs[$i]['ngaysinh']}\",

\"{$rs[$i]['gioitinh']}\"

)'>Sửa</a></td>";

$tabledata .="<td><a href='javascript:' id='{$rs[$i]['masv']}' onclick='return deleterow(this.id)'>Xóa</a></td>";

$tabledata .="</tr>";

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html >

<head>

<meta />

<style>

.messenger {

font-weight:bold;

color:#ff0000;

padding-left:100px;

}

</style>

<script>

window.onload= function() {

//giống bài trước, để lưu trữ lại giới tính đã chọn khi nhập dữ liệu lỗi

var gioitinh = document.getElementsByName("addgioitinh")[0];

if ("<?php echo $gioitinh; ?>" == "Nam" || "<?php echo $gioitinh; ?>" == "") {

gioitinh.value = "Nam";

} else {

gioitinh.value = "Nữ";

}

//cái này dùng khi người dùng nhập dữ liệu lỗi, $edited  == 0, gọi lại hàm editrow() để sửa dòng

if ("<?php echo $edited; ?>" == "0") {

try {

editrow("<?php echo $rowedit; ?>",

"<?php echo $index; ?>",

"<?php echo $editmasv;?>",

"<?php echo $edithoten; ?>",

"<?php echo $editngaysinh; ?>",

"<?php echo $editgioitinh;?>"

);

} catch (e) {alert(e) };

}

}

//hỏi xem bạn có chắc chắn muốn xóa và lấy ra id của dòng đó phục vụ cho việc xóa dữ liệu

function deleterow(id) {

if (confirm('Bạn có chắc chắn muốn xóa?')) {

document.getElementById("rowdeleting").setAttribute("value",id);

document.getElementById("deleterow").click();

} else {

return false;

};

}

//hàm khởi tạo việc sử dòng

function editrow(id,index,masv,hoten,ngaysinh,gioitinh) {

var thisrow = document.getElementById(id);

thisrow.innerHTML = "<tr id='"+ id +"'><td>"+ index + "</td>"

+"<td><input type='text' name='editmasv' value='"+ masv +"' /></td>"

+"<td><input type='text' name='edithoten' value='"+ hoten +"' /></td>"

+"<td><input type='text' name='editngaysinh' value='"+ ngaysinh +"' /></td>";

thisrow.innerHTML += (gioitinh == "Nam")?"<td><select name='editgioitinh'><option selected='selected' value='Nam'>Nam</option><option value='Nữ'>Nữ</option></select></td>":"<td><select name='editgioitinh'><option value='Nam'>Nam</option><option selected='selected' value='Nữ'>Nữ</option></select></td>";

thisrow.innerHTML +="<td><input type='submit' name='editrow' value='Sửa' /></td>"

+"<td><a href='javascript:' id='{$rs[$i]['masv']}' onclick='return deleterow(this.id)'>Xóa</a></td>";

+"</tr>";

document.getElementById("rowedit").setAttribute("value",id);

document.getElementById("index").setAttribute("value",index);

document.getElementById("masv").setAttribute("value",masv);

}

</script>

</head>

<body>

<h1>Quản lý sinh viên</h1>

<hr />

<div><?php echo $error; ?></div>

<form>

<table>

<tr>

<th>STT</th>

<th>Mã sinh viên</th>

<th>Họ tên</th>

<th>Ngày sinh</th>

<th>Giới tính</th>

<th>Thêm / sửa</th>

<th>Xóa</th>

</tr>

<?php echo $tabledata; ?>

<tr>

<td><?php echo $lastIndex; ?></td>

<td><input /></td>

<td><input /></td>

<td><input /></td>

<td>

<select>

<option>Nam</option>

<option>Nữ</option>

</select>

</td>

<td><input /></td>

<td></td>

</tr>

</table>

<input />

<input /> <!-- trường ẩn để lưu trữ id cần xóa khi người dùng nhấn nút xóa-->

<input /> <!-- trường ẩn để lưu trữ id của dòng cần sửa khi người dùng đang sửa -->

<input /> <!-- trường ẩn lưu trữ stt của dòng đang tác động vào -->

<input /> <!-- trường ẩn lưu trữ mã sinh viên ta đang xóa hoặc sửa -->

<!-- trường ẩn là trường không hiển thị ra bên ngoài nhưng chứa giá trị trung gian để ta làm việc -->

</form>

</body>

</html>

Bạn đang đọc truyện trên: AzTruyen.Top

Tags: #1111