การดึงข้อมูลจากฐานข้อมูลตามเงื่อนไขที่คลิกเลือกจาก checkbox อาจมีหลายเงื่อนไข

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา การดึงข้อมูลจากฐานข้อมูลตามเงื่อนไขที่คลิกเลือกจาก checkbox อาจมีหลายเงื่อนไข

การดึงข้อมูลจากฐานข้อมูลตามเงื่อนไขที่คลิกเลือกจาก checkbox อาจมีหลายเงื่อนไข
ช่วยแนะนำ code การดึงข้อมูลจากฐานข้อมูลตามเงื่อนไขที่คลิกเลือกจาก checkbox อาจมีหลายเงื่อนไข
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title></title><meta name="keywords" content=""><meta name="description" content=""><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="language" content="en"><link href="style.css" rel="stylesheet" type="text/css"></head><body>
<center>
<p align="center">
<table align="center" border="0" width="960" cellpadding="0" cellspacing="0">
  <tr>
    <td width="960"><img src="Image/header1.jpg" width="960" align="middle"></td>
  </tr>
  <tr>
    <td bgcolor="#040126" width="90" height="25"><div align="left"><a href="testinsert.php"><font color="#FFFFFF" size="2">&nbsp;&nbsp;&nbsp;<B>เพิ่มข้อมูล</B></font></a></div></td>
  </tr>
  <tr>
    <td background="Image/bgsearch.jp" width="960" height="50" valign="top">
<?
 if (isset($_POST["keyword"]) && !empty($_POST["keyword"])){
 echo "<br>[Result Search Keyword '".$_POST["keyword"]."'] <a href=".$_SERVER['PHP_SELF'].">Show All</a>";
 }
?>
</p>
<form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>">
 <!-- <div align="center"><span>Search</span>
    <input name="keyword" type="text" id="keyword" size="40">
     From
     <select name="field" id="field">
       <option value="title">ชื่อผลงานวิจัย</option>
       <option value="author">ชื่อผู้วิจัย</option>
       <option value="keyword">คำสำคัญ</option>
    <option value="year">ปี</option>
     </select>
    <input type="submit" name="Submit" value="Submit">
-->
<li>
  <label>คำสืบค้น</label><input name="keyword" type="text" id="keyword" value="" size="40" >
<input type=checkbox name="field" value="title">
ชื่อเรื่อง
<input type=checkbox name="field" value="author">
ชื่อผู้วิจัย
<input type=checkbox name="field" value="keyword">
คำสำคัญ
<input type=checkbox name="field" value="year">
ปี พ.ศ.
<input type=checkbox name="field" value="_All_" >
ทุกฟิลด์
</li>
<input name="submit" type="submit" value="Search" >
<input name="reset" type="reset"   value="Reset" >

</div>
</form></td></tr>
</table>
<table width="960" border="0" >
 <tr>
   <td width="75" bgcolor="#04fcf3"><div align="center"><span class="style47">ลำดับที่</span></div></td>
   <td width="640" bgcolor="#04fcf3"><div align="center"><span class="style47">ชื่อผลงานวิจัย</span></div></td>
   <td width="170" bgcolor="#04fcf3"><div align="center"><span class="style47">ชื่อผู้วิจัย</span></div></td>
   <td width="75" bgcolor="#04fcf3"><div align="center"><span class="style47">ปี</span></div></td>
 </tr>
   
  <?php require_once('connect.php'); ?>
    <? 
 $per_page = 10;
 $page =(isset($_GET["page"]))?$_GET["page"]:1;
 
 $sql="select * from tresearch";
 
 if (isset($_POST["keyword"]) && !empty($_POST["keyword"])){
 $keyword = trim($_POST["keyword"]); //trim คือ ห้ามมีเว้นวรรคทัั้งหน้าและหลังประโยค
 $field = trim($_POST["field"]);
 $sql .= " where $field like '%$keyword%'";
 }
 
 $result=mysql_query($sql);
 $numrow=mysql_num_rows($result);
 
 if ($numrow<$per_page){
  $numpage = 1;
  }elseif (($numrow%$per_page)==0){
   $numpage = $numrow/$per_page;
  }else{
   $numpage = ($numrow/$per_page)+1;
  }
   $numpage = (int)$numpage;
  $start_page = ($per_page*$page)-$per_page;
  $total = $numrow;
  
  $sql .= " limit $start_page,$per_page";
  $result=mysql_query($sql);
  $numrow=mysql_num_rows($result);
  
 $color="#CCCCCC";
  
  for ($i=0;$i<$numrow;$i++){
    $row = mysql_fetch_array($result);
    if ($color=="#CCCCCC"){
       $color="#FFFFFF";
    }else{
      $color="#CCCCCC";
    }
   ?> 
    <tr bgcolor="<?=$color?>">
      <td><a href="details.php?id=<?=$row["id"]?>"><div align="center"><span class="style47">
        <?=$row["id"]?></span></a></div></td>
      <td><div align="left"><span class="style47"><?=$row["title"]?></span></div></td>
      <td><div align="left"><span class="style47"><?=$row["author"]?></span></div></td>
      <td><div align="center"><span class="style47"><?=$row["year"]?></span></div></td>
    </tr>
  <?
}
?>
</table>
<p style="text-align: center" class="style47">หน้า 
  <? for ($i=1;$i<=$numpage;$i++){
    if ($page==$i){
   echo "$i&nbsp;";
  }else{
   echo "<a href='".$_SERVER['PHP_SELF']."?page=$i'>$i</a>&nbsp;";
   }
  }
  ?>
</p>
<p style="text-align: center" class="style47">จำนวน : <?=$total?></p>

</body></html>

<?php
 //include('footer.php');
?>

ช่วยแนะนำ code การดึงข้อมูลจากฐานข้อมูลตามเงื่อนไขที่คลิกเลือกจาก checkbox ซึ่งอาจมีหลายเงื่อนไข


 



Sunthorn 20-01-2015 12:42:40

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
แนวทาง

<form name="form1" method="post" action="<?=$_SERVER['PHP_SELF']?>">    
  <label>คำสืบค้น</label><input name="keyword" type="text" id="keyword" value="" size="40" >
<input type=checkbox name="field1" value="title">
ชื่อเรื่อง
<input type=checkbox name="field2" value="author">
ชื่อผู้วิจัย
<input type=checkbox name="field3" value="keyword">
คำสำคัญ
<input type=checkbox name="field4" value="year">
ปี พ.ศ.
<input type=checkbox name="field5" value="_All_" >
ทุกฟิลด์
</li>
<input name="submit" type="submit" value="Search" >
<input name="reset" type="reset"   value="Reset" >

</div>
</form>     

php

<?php
$sql=" select * from tresearch WHERE 1  ";
$keyword = trim($_POST["keyword"]); //trim คือ ห้ามมีเว้นวรรคทัั้งหน้าและหลังประโยค

if(isset($_POST['field5'])){
    $sql.=" OR title LIKE '%$keyword%' ";
    $sql.=" OR author LIKE '%$keyword%' ";
    $sql.=" OR keyword LIKE '%$keyword%' ";
    $sql.=" OR year LIKE '%$keyword%' ";
}else{
    if(
        isset($_POST['field1']) || 
        isset($_POST['field2']) || 
        isset($_POST['field3']) || 
        isset($_POST['field4']) 
    ){
        for($i=1;$i<=4;$i++){
            if(isset($_POST['field'.$i])){
                $sql.=" OR ".$_POST['field'.$i]." LIKE '%$keyword%' ";
            }
        }
    }
}
echo $sql;
?>




ninenik 20-01-2015
 ความคิดเห็นที่ 2
ขอบคุณครับ... แต่ยังไม่สามารถ run ได้

       sunthorn


sunthorn 27-01-2015 10:56






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ