คำว่าหลายเงื่อนไขในที่นี้ก็คือการเชื่อมต่อคำสั่งค้นหาข้อมูลในฟิลด์ โดยเชื่อมด้วย AND หรือ OR เพื่อนำไปใช้กับ WHERE ของ MySQL นั่นเอง
ตอนที่ 1
ตอนที่ 2
ซอร์สโค๊ดตัวอย่าง
search_form.php
display_info.php
( PHP >= 5.5 with PDO )
ตอนที่ 1
ตอนที่ 2
ซอร์สโค๊ดตัวอย่าง
search_form.php
<!DOCTYPE html>
<html ng-app lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>FB : facebook.com/ToBeDeveloper : การค้นหาแบบตัวเลือกหลายเงื่อนไข</title>
<!-- Bootstrap -->
<link href="../../bootstrap/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div role="main" class="container theme-showcase">
<!-- FORM -->
<form action="display_info.php" method="POST">
<fieldset>
<legend>
<div role="alert" class="alert alert-info">
การเลือกค้นหาแบบเลือกได้หลายเงื่อนไข:
</div>
</legend>
<h3>คุณสมบัติของที่พัก</h3>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox1" name="opt1" value="1"> พัดลม
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox2" name="opt2" value="1"> เครื่องปรับอากาศ
</label>
<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox3" name="opt3" value="1"> โทรทัศน์
</label>
<br><hr>
<input name="btn_submit" type="submit" value="ค้นหา">
</field(set>
</form>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="../../js/jquery.min.js"></script>
<script src="js/angular.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="../../bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
display_info.php
( PHP >= 5.5 with PDO )
<?php
/**
* Database Connection
*/
try {
$db_conn = new PDO('mysql:host=localhost;dbname=crdev_db', 'crdev', 'cr2015');
$db_conn -> exec("SET CHARACTER SET utf8");
} catch (PDOException $e) {
echo "Could not connect to database";
exit;
}
// Clear
$error_message = '';
$condition = '';
$where = '';
if(isset($_POST['opt1'])){
$condition .= " option1 = 1";
}
if(isset($_POST['opt2'])){
$condition .= ($condition != '' ? ' AND ' : '') . " option2 = 1";
}
if(isset($_POST['opt3'])){
$condition .= ($condition != '' ? ' AND ' : '') . " option3 = 1";
}
if($condition != ''){
$where = "WHERE $condition";
}
$sql = 'SELECT name, place, option1, option2, option3
FROM hotel ' . $where;
try {
$stmt = $db_conn->prepare($sql);
if($stmt) {
// perform query
$result = $stmt->execute();
if($result) {
$data = $stmt->fetchAll();
} else {
$error = $stmt->errorInfo();
$error_message = "Query failed with message: " . $error[2];
}
}else{
$error_message = "SQL problem has occurred: " . $e->getMessage();
}
} catch (PDOException $e) {
$error_message = "A database problem has occurred: " . $e->getMessage();
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>การค้นหาแบบตัวเลือกหลายเงื่อนไข</title>
<!-- Bootstrap -->
<link href="../../bootstrap/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div role="main" class="container theme-showcase">
<?php
if($error_message != ''):
echo '<div class="alert alert-danger">',$error_message,'</div>';
endif;
?>
<h3>ผลลัพธ์: </h3>
<div role="alert" class="alert alert-info">
<?php echo $sql;?>
</div>
<div>
<table class="table table-hover">
<tr>
<th>ชื่อ</th>
<th>สถานที่</th>
<th>พัดลม</th>
<th>เครื่องปรับอากาศ</th>
<th>โทรทัศน์</th>
</tr>
<?php if(!empty($data)):?>
<?php foreach($data as $row):?>
<?php
$option1 = ($row['option1'] == 1) ? 'มี' : 'ไม่มี';
$option2 = ($row['option2'] == 1) ? 'มี' : 'ไม่มี';
$option3 = ($row['option3'] == 1) ? 'มี' : 'ไม่มี';
?>
<tr>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['place'];?></td>
<td><?php echo $option1;?></td>
<td><?php echo $option2;?></td>
<td><?php echo $option3;?></td>
</tr>
<?php endforeach; ?>
<?php endif; ?>
</table>
</div>
</div>
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="../../js/jquery.min.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="../../bootstrap/js/bootstrap.min.js"></script>
</body>
</html>
"PHP ไม่ได้สร้างสุดยอดโปรแกรม แต่ PHP ช่วยให้งานคุณง่ายขึ้นต่างหาก"
PHP CI MANIA - PHP Code Generator
โปรแกรมช่วยสร้างโค้ด ลดเวลาการเขียนโปรแกรม
สนับสนุนค่ากาแฟผู้เขียนได้ที่
ความคิดเห็น
แสดงความคิดเห็น