Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > สอบถามครับ เรื่องการ Search ข้อมูล จาก 2 Field ใน Listbox เดียว



 

สอบถามครับ เรื่องการ Search ข้อมูล จาก 2 Field ใน Listbox เดียว

 



Topic : 107617



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์




ผม Search จาก Listbox ครับ

แล้วใน <option value="<?=$show["dur_year"];?>"

ใน value ใส่มากกว่า 1 Field ได้ป่าวครับ

ตอนนี้ใน Listbox แสดงอยู่แค่ปีครับ เช่น 2553

แต่ผมต้องการให้ Search แบบว่า มีเทอมด้วย 2553 / 2 แบบนี้อ่ะครับ

แต่ปี กับ เทอม คนละ Field กัน (dur_term)

ให้มัน Search ให้ตรงๆ เลย ทั้งปี และ เทอม ใน Listbox เดียวเลยอ่ะครับ

Code (PHP)
<select name="selYear" onChange="this.form.submit()">
   <option value="">- Select Year -</option>
   <?PHP
   include "config/connect.php";

   $sql  = "SELECT DISTINCT dur_year FROM favor";
   $sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
   $sql .= " WHERE dur_sector = '0'";
   $sql .= " ORDER BY dur_year DESC";
   $result = mysql_query($sql);
      while($show = mysql_fetch_array($result)){

      if($selYear == $show["dur_year"]){
         $sel="selected";
      } else {
         $sel="";
      }
      ?>
   <option value="<?=$show["dur_year"];?>" <?=$sel;?>><?=$show["dur_year"];?></option>
<? } ?>
</select>

<?PHP
   if($_GET["selYear"]){
   $sql  = "SELECT * FROM favor";
   $sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
   $sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
   $sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
   $sql .= " INNER JOIN prefix ON student.pre_id = prefix.pre_id";
   $sql .= " WHERE (dur_year LIKE '%".$_GET["selYear"]."%') AND dur_sector = '0'";
                
$result = mysql_query($sql);
}




Tag : PHP









ประวัติการแก้ไข
2014-04-10 21:01:49
2014-04-10 21:03:12
2014-04-10 21:05:03
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-04-10 20:58:06 By : sabaitip View : 1250 Reply : 15
 

 

No. 1



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



สถานะออฟไลน์
Facebook Blogger

ผมใช้ตัวคั่นครับ เวลาจะใช้งานก็ตัดตัวคั่นออก

Quote:
<option value="2557-2">ปี 2557 เทอม 2</option>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-10 21:14:03 By : {Cyberman}
 


 

No. 2



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ตัดออกยังไงอ่ะครับ

พอเลือกแล้วให้ค้นหาเลย คนที่ลงทะเบียนในปีและเทอมที่เลือก ให้ตรงกันทั้งปีและเทอม

ผมส่งไป 2 ตัว เพื่อไปค้นหาไม่ได้อ่ะครับ

ีีuu

Code (PHP)
<form name="favorOrgN" action="<?php $_SERVER['PHP_SELF']?>">
<table width="100%" cellpadding="0" cellspacing="1">
   <tr bgcolor="#EEEEEE">
      <td align="center"><b>ข้อมูลความอนุเคราะห์&emsp;[ ปกติ ]</b></td>
   </tr>
   <tr>
      <td>&nbsp;
           <select name="selYear" onChange="this.form.submit()">
               <option value="">- Select Year -</option>
<?PHP
   include "config/connect.php";

   $sql  = "SELECT DISTINCT dur_year, dur_term FROM favor";
   $sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
   $sql .= " WHERE dur_sector = '0'";
   $sql .= " ORDER BY dur_year, dur_term DESC";
   $result = mysql_query($sql);
      while($show = mysql_fetch_array($result)){

            if($selYear == $show["dur_year"].' / '.$show["dur_term"]){
               $sel="selected";
            } else {
               $sel="";
            }
            ?>
               <option value="<?=$show["dur_year"].' / '.$show["dur_term"]?>" <?=$sel;?>><?=$show["dur_year"].' / '.$show["dur_term"]?>
               </option>
            <? } ?>
            </select>
         </td>
      </tr>
      <tr>
         <td>&nbsp;<font color="red"><i>* เลือกดูจากปีการศึกษา และภาคเรียน</i></font></td>
      </tr>
   </table>
</form>

<?PHP
   if($_GET["selYear"]){
      $sql  = "SELECT * FROM favor";
      $sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
      $sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
      $sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
      $sql .= " INNER JOIN prefix ON student.pre_id = prefix.pre_id";
      $sql .= " WHERE (dur_year LIKE '%".$_GET["selYear"]."%' AND dur_term LIKE '%".$_GET["selYear"]."%') AND dur_sector = '0'";
                
      $result = mysql_query($sql);
?>



ประวัติการแก้ไข
2014-04-11 10:46:59
2014-04-11 10:47:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 10:45:38 By : sabaitip
 

 

No. 3



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


Code (PHP)
<form name="favorOrgN" action="<?php $_SERVER['PHP_SELF']?>">
<table width="100%" cellpadding="0" cellspacing="1">
   <tr bgcolor="#EEEEEE">
      <td align="center"><b>ข้อมูลความอนุเคราะห์&emsp;[ ปกติ ]</b></td>
   </tr>
   <tr>
      <td>&nbsp;
           <select name="selYear" onChange="this.form.submit()">
               <option value="">- Select Year -</option>
<?PHP
   include "config/connect.php";

   $sql  = "SELECT DISTINCT dur_year, dur_term FROM favor";
   $sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
   $sql .= " WHERE dur_sector = '0'";
   $sql .= " ORDER BY dur_year, dur_term DESC";
   $result = mysql_query($sql);
      while($show = mysql_fetch_array($result)){

            if($selYear == $show["dur_year"].' / '.$show["dur_term"]){
               $sel="selected";
            } else {
               $sel="";
            }
            ?>
               <option value="<?=$show["dur_year"].' / '.$show["dur_term"]?>" <?=$sel;?>><?=$show["dur_year"].' / '.$show["dur_term"]?>
               </option>
            <? } ?>
            </select>
         </td>
      </tr>
      <tr>
         <td>&nbsp;<font color="red"><i>* เลือกดูจากปีการศึกษา และภาคเรียน</i></font></td>
      </tr>
   </table>
</form>

<?PHP
   if($_GET["selYear"]){
      list($selectedYear,$selectedTerm) = explode('/',$_GET["selYear"]);
      $sql  = "SELECT * FROM favor";
      $sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
      $sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
      $sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
      $sql .= " INNER JOIN prefix ON student.pre_id = prefix.pre_id";
      $sql .= " WHERE (dur_year LIKE '%{$selectedYear}%' AND dur_term LIKE '%{$selectedTerm}%') AND dur_sector = '0'";
                
      $result = mysql_query($sql);
?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 10:51:39 By : sakuraei
 


 

No. 4



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ขอบคุณครับ เมพขิงๆ ตรงส่วนนี้ OK ล่ะครับ

แล้วถ้าผมต้องการที่ เวลากดเข้ามาในหน้านี้อ่ะครับ

อยากให้แสดง ปีและเทอม ล่าสุดขึ้นมาเลย

ซึ่งตอนนี้เป็นแบบว่า พอเข้ามาแล้วจะว่างเปล่า มีแค่ listbox ให้เลือก

พอเลือกแล้วจึงจะแสดง ขอบคุณครับ

ปิดคอมแปบ ตุมๆๆๆ ใหญ่แล้วว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 11:04:18 By : sabaitip
 


 

No. 5



โพสกระทู้ ( 3,156 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


ลองดูน่ะครับ ผมแค่คาดมั่วๆเอาเท่านั้น
Quote:
<?PHP
if(!isset($_GET["selYear"])){
$selectedYear = date("Y")+543;
$selectedTerm = "(select max(dur_term) from favor where dur_year = '$selectedYear')";
}else{
list($selectedYear,$selectedTerm) = explode('/',$_GET["selYear"]);
}
41.$sql = "SELECT * FROM favor";
42.$sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
43.$sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
44.$sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
45.$sql .= " INNER JOIN prefix ON student.pre_id = prefix.pre_id";
46.$sql .= " WHERE (dur_year = '{$selectedYear}' AND dur_term = '{$selectedTerm}') AND dur_sector = '0'";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 11:28:15 By : sakuraei
 


 

No. 6



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


มันบ่ล่ายๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 14:02:29 By : sabaitip
 


 

No. 7



โพสกระทู้ ( 1,569 )
บทความ ( 2 )



สถานะออฟไลน์
Twitter Facebook Blogger

ตอบความคิดเห็นที่ : 6 เขียนโดย : sabaitip เมื่อวันที่ 2014-04-11 14:02:29
รายละเอียดของการตอบ ::
ไม่ได้ตรงไหน?

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 16:42:35 By : itpcc
 


 

No. 8



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : itpcc เมื่อวันที่ 2014-04-11 16:42:35
รายละเอียดของการตอบ ::
จาก Code No.3 ตอนนี้ส่งค่าไปค้นหาจาก 2 field ได้แล้วครับ

ที่ยังไม่ได้คือ เวลากดเข้ามาหน้าที่จะให้แสดงอ่ะครับ ตอนนี้เป็นแบบว่า มี listbox ให้เลือกเพียงอย่างเดียว พอมีการเลือกแล้วถึงจะแสดง

แต่ผมต้องการให้พอกดเข้ามาแล้วให้ แสดงข้อมูลคนลงทะเบียนใน ปีและเทอมล่าสุด

สมมุติมี 2557 / 1 , กับ 2557 / 2 ก็ให้แสดง 2557 / 2 มาก่อนเลยครับ โดยไม่ต้องเลือก ถ้าจะดูเทอมอื่นก็เลือกเอาใน listbox

ขอบคุณครับ




ประวัติการแก้ไข
2014-04-11 17:28:29
2014-04-11 17:29:19
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 17:26:47 By : sabaitip
 


 

No. 9

Guest


dur_year dur_term มันอยู่ในเทเบิ้ลไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-11 21:51:13 By : hello
 


 

No. 10



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 9 เขียนโดย : hello เมื่อวันที่ 2014-04-11 21:51:13
รายละเอียดของการตอบ ::
duration ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-12 08:16:17 By : sabaitip
 


 

No. 11



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ช่วยดูจากการ select แบบธรรมดาตรงก็ได้ครับ

ว่าผมจะ select ข้อมูลต่างๆใน ปีและเทอม ล่าสุดขึ้นมาได้ยังไง

dur_year = ปี
dur_term = เทอม

Code (PHP)
<?
$sql  = "SELECT * FROM favor";
$sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
$sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
$sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
?>



ประวัติการแก้ไข
2014-04-12 16:36:16
2014-04-12 16:38:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-12 16:35:31 By : sabaitip
 


 

No. 12

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : sakuraei เมื่อวันที่ 2014-04-11 11:28:15
รายละเอียดของการตอบ ::
ของพี่เค้าก็ทำให้ดูเป็นไอเดียแล้วนี่ครับ เพียงแต่พี่เค้าก็ไม่ได้ทราบว่า dur_year dur_term มันมาจากตารางไหน
แค่นี้คุณก็น่าจะคิดออกได้แล้ว.....

Quote:
<?PHP
if(!isset($_GET["selYear"])){
$selectedYear = "(select max(dur_year) from duration)";
$selectedTerm = "(select max(dur_term) from duration where dur_year = (select max(dur_year) from duration) )";
}else{
list($selectedYear,$selectedTerm) = explode('/',$_GET["selYear"]);
}
41.$sql = "SELECT * FROM favor";
42.$sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
43.$sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
44.$sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
45.$sql .= " INNER JOIN prefix ON student.pre_id = prefix.pre_id";
46.$sql .= " WHERE dur_year = '{$selectedYear}' AND dur_term = '{$selectedTerm}' AND dur_sector = '0'";



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-12 19:28:09 By : Hello
 


 

No. 13

Guest


แบบนี้ครับ

Quote:
<?PHP
if(!isset($_GET["selYear"])){
$selectedYear = "(select max(dur_year) from duration)";
$selectedTerm = "(select max(dur_term) from duration where dur_year = (select max(dur_year) from duration) )";
}else{
list($selectedYear,$selectedTerm) = explode('/',$_GET["selYear"]);
}
41.$sql = "SELECT * FROM favor";
42.$sql .= " INNER JOIN student ON favor.stu_id = student.stu_id";
43.$sql .= " INNER JOIN duration ON favor.dur_id = duration.dur_id";
44.$sql .= " INNER JOIN location ON favor.loc_id = location.loc_id";
45.$sql .= " INNER JOIN prefix ON student.pre_id = prefix.pre_id";
46.$sql .= " WHERE dur_year = {$selectedYear} AND dur_term = {$selectedTerm} AND dur_sector = '0'";

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-12 19:31:24 By : Hello
 


 

No. 14



โพสกระทู้ ( 361 )
บทความ ( 1 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 13 เขียนโดย : Hello เมื่อวันที่ 2014-04-12 19:31:24
รายละเอียดของการตอบ ::
ก็มันคิดไม่ออกนี่นาา

ขอบคุณนะครับ อิอิ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-12 19:36:58 By : sabaitip
 


 

No. 15

Guest


ตอบความคิดเห็นที่ : 14 เขียนโดย : sabaitip เมื่อวันที่ 2014-04-12 19:36:58
รายละเอียดของการตอบ ::
กลับมาบอกด้วยซิว่าสำเร็จมั๊ย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-04-12 21:59:25 By : Hello
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามครับ เรื่องการ Search ข้อมูล จาก 2 Field ใน Listbox เดียว
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่