คลังเก็บบล็อก

ให้ฟุตเตอร์อยู่ด้านล่างพอดีหน้าจอ


ปกติฟุตเตอร์ในหน้าเว็บจะอยู่ต่อจากส่วนอื่นๆ ถ้าเนื้อหาสั้นก้จะเห็นหน้าเว็บ สั้นแปลกๆ อย่างหน้าแจ้งสมัครสมาชิคสำเร็จถ้ามีข้อความแค่ สำเร็จแล้ว จะส่งเมล์ไปยืนยัน ถ้าเว็บไม่มีโฆษณา หรือภาพใหญ่ๆ ก็จะเห็นแค่ครึ่งหน้าจอ บางคนบอกว่าตลก แก้ได้โดยวางโครงสร้างตามตัวอย่างครับ

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>CSS Fixed Footer</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
html,
body
{
	margin:0;
	padding:0;
	height:100%;
}
#container
{
	min-height:100%;
	position:relative;
}
#footer
{
	position:absolute;
	bottom:0;
	width:100%;
	height:20px;/* Height of the footer */
	background:#c00000;
	padding-top:5px;
}
#body
{
	display:block;
	background:#CF6;
}
</style>
</head>
<body>
<div id="container">
<div id="header"></div>
<div id="body">
 ใส่เนื้อหาสั้นๆ ตรงนี้นะ
</div>
<hr />
<div id="footer">ฟุตเตอร์นะนายจ๋า</div>
</body>
</html>

ถ้าเนื้อหายาว ก็จะเห็นเหมือนเว็บปกติครับ

โฆษณา

หาและลบข้อมูลซ้ำในตาราง


การย้ายระบบจากระบบเก่ามาระบบใหม่ เป็นธรรมดาที่จะเจอปัญหาความผิดพลาดจากการที่ระบบเดิมออกแบบมาไม่ดี ทำให้มีข้อมูลซ้ำซ้อน เช่น ระบบรับสมัครสมาชิกไม่ได้กรองข้อมูลว่า ผู้ที่ลงทะเบียนสมัครไว้แล้วหรือยัง แต่ในระบบใหม่มีความจำเป็นที่จะต้องควบคุมให้ หนึ่งคน มีได้หนึ่งยูเซอร์เท่านั้น เราสามารถกรองออกได้โดยข้อมูล อีเมล์ หมายเลขบัตรประชาชน อาจจะเป็นต้องใช้ ชื่อและนามสกุลด้วย โดยใช้ query ง่ายๆ

SELECT email, count (*) AS duplicate
FROM `users`
GROUP BY email
HAVING duplicate > 1;

ก็จะได้อีเมล์ที่ซ้ำกันออกมาออกมา แต่เจอผู้ที่สมัครหลายยูเซอร์จำนวนมาก จะมาลบที่ละคนก็ไม่ไหว อาศัยกฎของทางเว็บที่ห้ามสมัครเกินกว่าหนึ่งยูเซอร์ มาเป็นเหตุผลในการลบรายการที่ซ้ำออกไป อัตโนมัติ
โดยเราไม่จำเป็นต้องเขียนคำสั่งใน PHP มาวนลบข้อมูล เพราะสามารถใช้วิธีสร้างตารางชั่วคราวมาเก็บข้อมูลที่ไม่ซ้ำ

INSERT INTO `users_temp` 
SELECT *, count (*) AS duplicate
FROM `users`
GROUP BY email
HAVING duplicate > 1;

อธิบายง่ายๆ คือเลือกข้อมูลโดยกรุ๊บข้อมูลที่ซ้ำไปแทรกในตารางใหม่ ครั้งต่อไปก็ดัดแปลงเป็นเลขบัตรประชาชน ชื่อและนามสกุล พอสมควรแล้วก็ลบตารางเดิม เปลี่ยนชื่อตารางใหม่ไปแทนของเดิม

%d bloggers like this: