เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย aei_ou » 06/11/2009 9:49 am

หน้า form

โค้ด: เลือกทั้งหมด

<form method="post" action="search.php?search=<? $view_namestd?>">
Keyword <input type="text" name="search" /> Type <select name="dropdown" value="options">
<option value="STD_ID">ID</option>
<option value="STD_year">Year</option>
</SELECT>
///////////
หน้า search.php

โค้ด: เลือกทั้งหมด

<?php
$search = $_POST['search'];
$dropdown = $_POST['dropdown'];

$con = mysql_connect("localhost", "cmm09_homework" ,"homew09");
$dbname = "cmm09_homework";
mysql_select_db($dbname);
$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where $dropdown like '%$search%'";
$query = mysql_query($sql) or die("can't insert");
?>
<br><br>
<table border="2" width="500" align=center>
<tr><td align=center>ID</td><td>Name</td><td>Surname</td><td>Year</td></tr>
<?
while ($res =mysql_fetch_array($query))
{?>

<tr> <td><? echo $res["STD_ID"]?></td>
<td><? echo $res["STD_Fname"]?></td>
<td><? echo $res["STD_Lname"]?></td>
<td><? echo $res["STD_year"]?></td> </tr>
<? } ?>
<?mysql_close($con);
?> </table>
หน้า form คุณส่งข้อมูลแบบ post หน้า search.php ก็ต้องสร้างตัวแปรมารับค่า post แบบนี้ $search = $_POST['search'];

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย or_neung » 30/10/2009 3:22 pm

ถ้ายังไม่ได้ ก็เปลี่ยนตรง

โค้ด: เลือกทั้งหมด

<option value="1">ID</option>
<option value="2">Year</option>
เป็น

โค้ด: เลือกทั้งหมด

<option value="ID">ID</option>
<option value="Year">Year</option>
และเปลี่ยนเป็น

โค้ด: เลือกทั้งหมด

switch($STD)
{
   case "ID": $sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_ID like '%$search%' "; break;
   case "Year": $sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_year like '%$search%'"; break;
   defult:echo "บันทึกข้อมูลไม่ได้";
}
น่าจะได้แล้วล่ะ ถ้าไม่ได้ก็ขอโทษด้วย(ไม่รู้คำว่า defult เขียนถูกเปล่า ดูด้วยนะ)

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย ssakuraa » 30/10/2009 1:49 pm

ขอบคุณมากค่ะ สำหรับกำลังใจ ^^~

แต่ว่า ก็ยังไม่ได้ค่ะ แฮ่ะๆๆ
พอแก้ตามที่บอกแล้ว ตอนนี้เซิร์จไรก็ไม่ขึ้นแล้วอะค่ะ
ลองทั้ง 2 แบบที่คุณor_neung บอกมาแล้วค่ะ
ไม่ทราบว่าควรทำอย่างไรดีค่ะ T^T

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย or_neung » 30/10/2009 1:13 pm

ถ้ายังไม่ได้ ก็เปลี่ยนตรง

โค้ด: เลือกทั้งหมด

<option value="STD_ID">ID</option>
<option value="STD_year">Year</option>
เป็น

โค้ด: เลือกทั้งหมด

<option value="1">ID</option>
<option value="2">Year</option>
และเปลี่ยนตรง

โค้ด: เลือกทั้งหมด

if ($STD=="STD_ID"){
$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_ID like '%$search%' ";
}else{
$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_year like '%$search%'";
}
เป็น

โค้ด: เลือกทั้งหมด

switch($STD)
{
	case 1: $sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_ID like '%$search%' "; break;
	case 2: $sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_year like '%$search%'"; break;
}
พยายามเข้านะ

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย or_neung » 30/10/2009 1:04 pm

งั้นลองเปลี่ยนเป็น

โค้ด: เลือกทั้งหมด

if ($STD=="ID")
ไม่รู้ว่าได้หรือเปล่า

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย ssakuraa » 30/10/2009 12:43 pm

ค่ะ ลองทำดูแล้วค่ะ แต่ว่ายังเซิร์จได้แค่ year ค่ะ
คือลองใส่ค่า iD แล้วเลือก type เป็น ID แล้วค่ะ
แต่ว่ามันกลายเป็น เซิร์จแบบ year แทนค่ะ
พอระบุเป็นค่าไอดี ตรงๆเช่น 49214579 ก็เซิร์จไม่เจอค่ะ
แต่ถ้าใส่เป็น เลข 2 type เป็น ID จะเซิร์จได้เป็นชั้นปีที่ 2 แทนค่ะ

รบกวนช่วยหน่อยนะค่ะ
จนปัญญา T^T

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย or_neung » 30/10/2009 11:51 am

ลองเปลี่ยนตรง

โค้ด: เลือกทั้งหมด

$STD_ID =$_GET['STD_ID'];
$STD_year =$_GET['STD_year'];
เป็น

โค้ด: เลือกทั้งหมด

$STD =$_GET['dropdown'];
และลองเปลี่ยนตรง

โค้ด: เลือกทั้งหมด

$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_ID like '%$search%' AND STD_year like '%$search%'";
เป็น

โค้ด: เลือกทั้งหมด

if ($STD=="STD_ID"){
$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_ID like '%$search%' ";
}else{
$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_year like '%$search%'";
}
ลองดูนะ

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย ssakuraa » 30/10/2009 10:40 am

ค่ะ พอเปลี่ยนเป็น POST แล้ว มันเซิร์จได้แค่ year ค่ะ
พอจะให้เซิร์จจาก เลข ID มันไม่ได้อะค่ะ

ไม่ทราบว่าเป็นเพราะอะไรเหรอค่ะ?

Re: เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย 4404 » 30/10/2009 9:30 am

ส่งมาแบบ post ตอนรับค่ามาใช้ก็รับแบบโพสซิครับ

เกี่ยวกับ search ด้วย dropdown กับ textfiled ค่ะ

โดย ssakuraa » 30/10/2009 1:38 am

คือว่า จากหน้าตาในรูปค่ะ

รูปภาพ

คือว่า ในช่องแรกจะให้ใส่ keyword ค่ะ แล้วค่อยเลือกประเภทที่ต้องการ search ค่ะ
พอกด search แล้ว มันขึ้นข้อมูลทั้งหมดใน table ค่ะ อยากจะให้ขึ้นเฉพาะที่ใส่ในช่อง keyword ไม่ทราบว่าต้องเขียน
โคดยังไงเหรอค่ะ?

อันนี้เป็น form html ค่ะ
<form method="post" action="search.php?search=<? $view_namestd?>">
Keyword <input type="text" name="search" /> Type <select name="dropdown" value="options">
<option value="STD_ID">ID</option>
<option value="STD_year">Year</option>
</SELECT>

<input name="submit" type="submit" value="search" />
</form>

อันนี้เป็น form search.php
<?php
$STD_ID =$_GET['STD_ID'];
$STD_year =$_GET['STD_year'];
$search=$_GET['search'] ;
$con = mysql_connect("localhost", "cmm09_homework" ,"homew09");
$dbname = "cmm09_homework";
mysql_select_db($dbname);
$sql = "select STD_ID,STD_Fname,STD_Lname,STD_year from student where STD_ID like '%$search%' AND STD_year like '%$search%'";
$query = mysql_query($sql) or die("can't insert");
?>
<br><br>
<table border="2" width="500" align=center>
<tr><td align=center>ID</td><td>Name</td><td>Surname</td><td>Year</td></tr>
<?
while ($res =mysql_fetch_array($query))
{?>

<tr> <td><? echo $res["STD_ID"]?></td>
<td><? echo $res["STD_Fname"]?></td>
<td><? echo $res["STD_Lname"]?></td>
<td><? echo $res["STD_year"]?></td> </tr>
<? } ?>
<?mysql_close($con);
?> </table>
รบกวนช่วยตอบคำถามให้ด้วยค่ะ T^T

ข้างบน