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,027

HOME > PHP > PHP Forum > รบกวนช่วยหน่อยครับ คือผมทำเขียน code php ใช้ค้นหาข้อมูลใน databaseจาก ชื่อ-นามสกุลอยากทราบว่าจะเขียนยังไง



 

รบกวนช่วยหน่อยครับ คือผมทำเขียน code php ใช้ค้นหาข้อมูลใน databaseจาก ชื่อ-นามสกุลอยากทราบว่าจะเขียนยังไง

 



Topic : 078830



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



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




คือผมทำหน้ารับข้อมูลแบ่งออกเป็นสองช่องที่รับ ชื่อและนามสกุลครับและส่งค่าไปที่หน้าsearch.php คือลองเขียนแล้วมันต้องค่าทั้งสองช่องอะครับถ้าใส่ช่องใดช่องหนึ่งมันจะshowค่าทั้งหมดเลยครับ

Code (PHP)
<body>
<?
require("connect/connect.php");
$name= $_POST['search_n'];
$sname= $_POST['search_sn'];

if($name or $sname!=''){
	$sql= "SELECT * FROM teacher WHERE t_name LIKE '%".$name."%' OR t_sname LIKE '%".$sname."%' ";
	$sql_q= mysql_query($sql);
?>

<table width="500" border="1">
	<tr>
    	<td>ลำดับ</td>
        <td>ชื่อ-นามสกุล</td>
        <td>สาขาวิชา</td>
    </tr>
   	<?
	$number= 1;
	while($result= mysql_fetch_array($sql_q)){
	
	?>
	<tr>
    	<td><? echo $number ?></td>
        <td>
		<?
			echo $result['t_name'];
			echo "&nbsp;";
			echo $result['t_sname'];
		?>
        </td>
        <td><? $ressult['f_id'] ?></td>
        
    </tr>
	<?
		$number++;
	}
	?>
</table>
<?
}else{
	echo "ไม่พบข้อมูล กรุณากรอกข้อมูลใหม่";
}
?>
</body>
</html>


จะแก้ไขยังไงรบกวนช่วยหน่อยครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-05-23 15:47:49 By : tenshunen View : 1702 Reply : 12
 

 

No. 1



โพสกระทู้ ( 5,146 )
บทความ ( 26 )

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

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


เปลี่ยนจาก OR เป็น AND ดูครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-23 15:48:47 By : deawx
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

ลองแบบนี้ดูครับ

Code (PHP)
$name= $_POST['search_n'];
$sname= $_POST['search_sn'];

if($name or $sname!=''){

	$sql= "SELECT * FROM teacher WHERE 1 ";
	if($name != "")
	{
		$sql .= " AND t_name LIKE '%".$name."%' "; 
		OR t_sname LIKE '%".$sname."%' ";
	}
	if($sname != "")
	{
		$sql .= " AND t_sname LIKE '%".$sname."%' "; 
	}
	$sql_q= mysql_query($sql);

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-23 15:58:37 By : mr.win
 

 

No. 3



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



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


ขอบคุณครับ จะลองทำดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-23 18:57:30 By : tenshunen
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : mr.win เมื่อวันที่ 2012-05-23 15:58:37
รายละเอียดของการตอบ ::
ขอถามหน่อยครับ $sql= "SELECT * FROM teacher WHERE 1 "; บรรทัดนี้มันหมายความว่าอะไรอะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-23 19:06:28 By : tenshunen
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : mr.win เมื่อวันที่ 2012-05-23 15:58:37
รายละเอียดของการตอบ ::
รบกวนช่วยดูให้หน่อยว่าผมเขียนถูกรึป่าว แต่ลองทำดูแล้วมันไม่ขึ้นอะไรเลยครับ

Code (PHP)
<body>
<?
require("connect/connect.php");
$name= $_POST['search_n'];
$sname= $_POST['search_sn'];

if($name or $sname!=''){
	$sql= "SELECT * FROM teacher WHERE 1";
}elseif($name !=""){
		$sql .= "AND t_name LIKE '%".$name."%' OR t_sname LIKE '%".$sname."%' ";
}elseif($sname !=""){
		$sql .= "AND t_sname LIKE '%".$sname."%' ";
}else{ 
	$sql_q= mysql_query($sql);

?>

<table width="500" border="1">
	<tr>
    	<td>ลำดับ</td>
        <td>ชื่อ-นามสกุล</td>
        <td>สาขาวิชา</td>
    </tr>
   	<?
	$number= 1;
	while($result= mysql_fetch_array($sql_q)){
	
	?>
	<tr>
    	<td><? echo $number ?></td>
        <td>
		<?
			echo $result['t_name'];
			echo "&nbsp;";
			echo $result['t_sname'];
		?>
        </td>
        <td><? $ressult['f_id'] ?></td>
        
    </tr>
	<?
		$number++;
	}
	?>
</table>
<?
}
?>

</body>




ประวัติการแก้ไข
2012-05-23 19:37:37
2012-05-23 19:39:27
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-23 19:36:11 By : tenshunen
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : deawx เมื่อวันที่ 2012-05-23 15:48:47
รายละเอียดของการตอบ ::
ลองเปลี่ยนเป็น AND ดูแล้วครับ มันต้องใส่ค่าทั้งสองช่องถ้าใส่ค่าช่องเดียวมันจะโชว์หมดเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-24 09:49:07 By : tenshunen
 


 

No. 7



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



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


Code (PHP)
<?
$name = '1';
$sname = '2';

$sql = "SELECT * FROM tb ";

if($name != '' && $sname = '')
{
    $sql .= "WHERE field LIKE '%".$name."%'";
}
else if($sname != '' && $name = '')
{
    $sql .= "WHERE field LIKE '%".$sname."%'";
}

$query = mysql_query($sql);
?>


ลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-24 10:22:35 By : kamuro
 


 

No. 8



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



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

เงื่อนไขคืออะไรครับ
อยากค้นได้ โดยที่ใส่ช่องเดียวก็ได้ สองช่องก็ได้ใช่ไหม แต่ห้ามค้นถ้าไม่มีการใส่ซักช่องเลยใช่ไหม
ถ้าใช่

$name= $_POST['search_n'];
$sname= $_POST['search_sn'];

ก็ต้องเช็คก่อนว่าแต่ละตัวแปรมีค่าหรือไม่ (ตามคุณ win)
ถ้ามีอันไหนก็เลือกเข้าเงื่อนไข เพื่อสร้าง SQL ครับ

ก็ปรับ code คุณ win นิดหน่อย
Code คุณ win ที่ปรับแล้ว(PHP)
if(($name != "") && ($sname!="")){ //ตรวจสอบว่าเป็นค่าว่างทั้งคู่ไหม ใช้ and แสดงว่ามันว่างทั้งคู่
$sql = "";//ไม่ทำงาน (ไม่ดึงข้อมูลออกมา
}else{ //มาทำส่วนนี้แสดงว่า ไม่ค่าใดก็ค่านึง หรือทั้งสองค่าของ sname และ name ต้องมีค่า
//----------------------------------------------------------
$sql= "SELECT * FROM teacher WHERE "; //สร้าง sql เริ่มต้นไว้ก่อน

if($name !=""){//ถ้า name มีค่า
$sql .= " t_name LIKE '%".$name."%' ";//ให้ต่อ sql ด้วยประโยคนี้ คือให้หา ค่า name
   if($sname != ""){//เงื่อนไขย่อยใน name เพื่อให้ตรวจสอบต่อว่า sname มีค่าหรือไม่
   $sql .= " and "; // ที่ต้องทำย่อยอันนี้ไว้เพื่อ ต่อเงื่อนไข กรณีมีค่ามาทั้ง name และ sname
   }//end sname
}//end name

if($sname !=""){//มาเช็ค sname ต่อ
$sql .= " t_sname LIKE '%".$sname."%' "; // ถ้ามีค่ามาให้ ต่อ sql ด้วยอันนี้  ถ้ามี sname อันเดียวก็ค้นเฉพาะ sname
}//end sname

//----------------------------------------------------------
}//end $name && $sname

$sql_q= mysql_query($sql);


อาจตาลายหน่อยแต่เขียนให้ดูง่ายๆ นะครับ (มันง่ายหรือเปล่า)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-24 10:28:57 By : ekaja
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : ekaja เมื่อวันที่ 2012-05-24 10:28:57
รายละเอียดของการตอบ ::
พอจะเข้าใจแล้วครับเดี๋ยวจะลองเอาไปทำดูครับ


ขอขอบคุณทุกๆคนมากๆครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 14:53:04 By : tenshunen
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : ekaja เมื่อวันที่ 2012-05-24 10:28:57
รายละเอียดของการตอบ ::
ลองทำดูแล้วครับ มันค้นหาได้แค่ช่องใคช่องหนึ่งอะครับ ถ้าใส่ทั้งสองช่องมันหาข้อมูลไปพบอะครับ ช่วยหน่อยครับ คุณ ekaja



ประวัติการแก้ไข
2012-05-25 16:35:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 16:22:51 By : tenshunen
 


 

No. 11



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



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

ใส่สองช่องแล้ว print sql มาดูครับ ว่ามัน ขึ้นว่าไง


ลองแก้
if(($name != "") && ($sname!="")){

เป็น

if(($name == "") && ($sname =="")){

ผมรั่วครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-25 19:11:35 By : ekaja
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : ekaja เมื่อวันที่ 2012-05-25 19:11:35
รายละเอียดของการตอบ ::
ทำได้แล้วครับขอบคุณมากๆเลยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-27 20:04:29 By : tenshunen
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนช่วยหน่อยครับ คือผมทำเขียน code php ใช้ค้นหาข้อมูลใน databaseจาก ชื่อ-นามสกุลอยากทราบว่าจะเขียนยังไง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่