หลังจากเราได้สร้างฟอร์มสมัครสมาชิกและเก็บข้อมูลลงใน database แล้ว แต่มีบางฟิลด์ที่ผู้ใช้ยังไม่กรอกข้อมูลและเรากำหนดฟิลด์นั้นๆให้เป็นค่าว่าง (NULL) เราก็จะทำเรียกเฉพาะข้อมูลที่เป็นค่าว่างนั้นมาแสดง มาเริ่มกันเลยครับ…
Database
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
CREATE TABLE `tbl_member` ( `member_id` int(10) NOT NULL auto_increment, `member_name` varchar(100) NOT NULL, `member_lname` varchar(100) NOT NULL, `username` varchar(20) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(15) NOT NULL, `phone` varchar(15) default NULL, `date_regis` timestamp NOT NULL default CURRENT_TIMESTAMP, PRIMARY KEY (`member_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; -- -- Dumping data for table `tbl_member` -- INSERT INTO `tbl_member` VALUES (1, 'aaaaa', 'aaaa', 'aaa', 'aaaa', 'a@g.com', NULL, '2015-09-16 14:29:48'); INSERT INTO `tbl_member` VALUES (2, 'bbbbb', 'bbb', 'bbb', 'bbb', 'b@g.com', NULL, '2015-09-16 14:29:48'); INSERT INTO `tbl_member` VALUES (3, 'asdsfafas', 'asdfasf', 'sssss', 'sssss', 's@g.com', '081', '2015-09-16 14:30:16'); INSERT INTO `tbl_member` VALUES (4, '4rrrr', 'rrr', 'rrrr', 'rrr', 'r@g.com', '081', '2015-09-16 14:30:16'); |
ไฟล์เชื่อต่อกับ database connection.php
1 2 3 4 5 6 |
<?php $con= mysqli_connect("localhost","root","root","db_web") or die("Error: " . mysqli_error($con)); mysqli_query($con, "SET NAMES 'utf8' "); ?> |
ไฟล์เรียกข้อมูลมาแสดง showmember.php
ในหน้านี้เราจะเรียกข้อมูลจากตาราง tbl_member มาแสดงโดยเรียกเฉพาะข้อมูลที่ฟิลด์ phone ที่เป็นค่าว่าง NULL
โดยกำหนดให้เรียกลำดับจากฟิลด์ member_id (น้อยไปมาก) ORDER BY member_id asc หรือต้องการให้เรียงลำดับจากมากไปน้อยเราสามารถเปลี่ยนจาก asc เป็น desc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
<meta charset="UTF-8"> <?php //1. เชื่อมต่อ database: include('connection.php'); //ไฟล์เชื่อมต่อกับ database ที่เราได้สร้างไว้ก่อนหน้าน้ี //2. query ข้อมูลจากตาราง tbl_member:เฉพาะฟิลด์ที่ไม่มีข้อมูล NULL (WHERE phone is NULL) $query = "SELECT * FROM tbl_member WHERE phone is NULL ORDER BY member_id asc" or die("Error:" . mysqli_error()); //3.เก็บข้อมูลที่ query ออกมาไว้ในตัวแปร result . $result = mysqli_query($con, $query); //4 . แสดงข้อมูลที่ query ออกมา โดยใช้ตารางในการจัดข้อมูล: echo "<h3 align='center'> แสดงข้อมูลที่ยังไม่มีเบอร์โทรศัพท์ </h3>"; echo "<table border='1' align='center' width='500'>"; //หัวข้อตาราง echo "<tr align='center' bgcolor='#CCCCCC'><td>รหัส</td><td>Uername</td><td>ชื่อ</td><td>นามสกุล</td><td>อีเมล์</td> <td>เบอร์โทร</td></tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" .$row["member_id"] . "</td> "; echo "<td>" .$row["username"] . "</td> "; echo "<td>" .$row["member_name"] . "</td> "; echo "<td>" .$row["member_lname"] . "</td> "; echo "<td>" .$row["email"] . "</td> "; echo "<td>" .$row["phone"] . "</td> "; echo "</tr>"; } echo "</table>"; //5. close connection mysqli_close($con); ?> |
ข้อมูลจขาก database เมื่อเรียกดูข้อมูลทั้งหมด
เมื่อนำมาเรียกข้อมูลเฉพาะที่เป็นค่าว่างจะได้ผลลัพธ์ดังนี้
เครื่องหมายเปรียบเทียบ (comparison operator)
= | เท่ากับ |
> | มากกว่า |
< | น้อยกว่า |
>= | มากกว่า หรือเท่ากับ |
<= | น้อยกว่า หรือเท่ากับ |
<> หรือ != | ไม่เท่ากับ |
เครื่องหมายเปรียบเทียบอื่นๆ
LIKE | ทดสอบเปรียบเทียบข้อความ |
NOT LIKE | หาค่าที่อยู่นอกเหนือจาก LIKE |
NULL | ทดสอบเปรียบเทียบค่าว่าง |
NOT NULL | ทดสอบเปรียบเทียบค่าที่ไม่ใช่ค่าว่าง |