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

HOME > PHP > PHP Forum > ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ ผมมีข้อมูลเป็น text file ครับ ซึ่งมีข้อมูลเยอะมากๆ



 

ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ ผมมีข้อมูลเป็น text file ครับ ซึ่งมีข้อมูลเยอะมากๆ

 



Topic : 044583

Guest




ผมมีข้อมูลเป็น text file ครับ ซึ่งมีข้อมูลเยอะมากๆ

ข้อมูลจะเป็นตัวเลข 4 ตัวไม่ซ้ำกันครับ ต่อด้วยอักษร x,y หรือ z เฉพาะ 3ตัวนี้ แต่เป็นตัวใดตัวหนึ่ง
แต่ละชุดจะขึ้นบรรทัดใหม่เสมอ

ตย. ลัษณะประมาณนี้ครับ

Code
2510x
2522y
2526z
2524y
2534x
2531z


ผมอยากสร้างฟอร์มค้นหา โดยพิมตัวเลข 4 ตัวลงไปแล้วแสดงค่าออกมาเฉพาะตัวอักษร
เช่น ผมพิมค้นเลข 2531 ก็จะแสดงผลออกมาว่า z
แต่ถ้าไม่เจอ จะแสดงผลว่าไม่มีข้อมูล

อยากได้โค้ดมากเลยครับ ขอบคุณครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-06-27 11:10:02 By : Andy View : 1285 Reply : 17
 

 

No. 1



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



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

Quote:
อยากได้โค้ดมากเลยครับ ขอบคุณครับ


ถ้าคุณมาขออย่างนี้ผมคงไม่ทำให้หรอกนะครับ รอคนใจดีทำให้แล้วกันนะครับผม

แต่ถ้าคุณอยากได้แนวคิดเพื่อที่จะ ไปทำเอง

ผมจะช่วยคุณอย่างเต็มที่นะครับ






Date : 2010-06-27 14:57:07 By : oxygenyoyo
 


 

No. 2

Guest


น่าสนใจดี
อยากได้ความรู้แนวนี้บ้างครับ
Date : 2010-06-27 15:39:06 By : สุวิทย์
 

 

No. 3



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



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

ถูกของคุณ OxyGenyoyo
Date : 2010-06-27 17:34:19 By : blacklion
 


 

No. 4



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



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


http://www.mediafire.com/?rtkamjgowmr
Date : 2010-06-27 19:02:11 By : newaxekub
 


 

No. 5

Guest


ok
ขอโทษคุณออกซิเจน

แบบนี้พอจะถูกทางไหม

Code (PHP)
<?php
if(isset($_POST))
{
$id=$_POST['id'];
$strFileName = "abc.txt";
$objFopen = fopen($strFileName,"r");
while( !feof($objFopen) )
{
  $Buffer = fgets($objFopen,4096);
  if(strstr(strtolower($Buffer),$id))
  {
	if($Buffer=glob('*a'))
    echo "a";
	else if($Buffer=glob('*b'))
	echo "b";
	else 
	echo "c";
  }
}

fclose($objFopen);
}

?>

Date : 2010-06-27 19:22:14 By : andy
 


 

No. 6

Guest


ูู^^^
^^^
เปลี่ยน abc เป็น xyz

ขอบคุณท่าน newaxekub ด้วยครับ

แต่ผมอยากรู้วิธีของ php ครับ
Date : 2010-06-27 19:25:03 By : andy
 


 

No. 7

Guest


อิอิ ยังไม่ได้ตามต้องการครับ

โปรดชี้แนะด้วยครับ
Date : 2010-06-27 20:39:56 By : andy
 


 

No. 8



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



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


ผมคิดว่าน่าจะมีการตัด
สตริงก้อน่าจะได้นี่ครับตัดจากตัวหลังอ่ะครับผมจำไม่ได้ว่าทำยังงัย
Date : 2010-06-27 21:17:06 By : keapkung
 


 

No. 9



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

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

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


text ในแต่ละบรรทัดนี่ fix length ไหม ถ้าใช้ก็ใช้ substr

ตรวจสอบด้านหน้า แล้วเอาตัวหลังไปแสดง
Date : 2010-06-27 21:21:10 By : tungman
 


 

No. 10



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



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


ลองนี้ดูครับ
ผมเพิ่งรู้ว่า php ก็มี substr เหมือน Flash ด้วย ลองใช้ดูนะครับ
Code (PHP)
<?php
$mytext = "5423z";
$mytext2 = substr("$mytext",-1);
echo $mytext2;
?>


โทดทีครับ โพสลืมทดสอบ โค้ดนี้ยังใช้ไม่ได้นะครับ
Date : 2010-06-27 22:24:39 By : newaxekub
 


 

No. 11



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



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


เสร็จซะที ลองเอาไปใช้ดูนะครับ ได้ไม่ได้ยังไงก็บอกด้วยนะครับ

Code (PHP)
<html>
<body>
<form method="post">
<input type="text" name="mynum">
<input type="submit" name="Submit" value="ค้นหา">
<p></p>
</body>
</html>


<?
$search = $_REQUEST['mynum'];

$mytext = file("test.txt");
$mystring = implode("", $mytext);
$mystr = strrpos($mystring,$search);
$searchlength = ''.strlen($search);
$mytext = substr($mystring,$mystr+$searchlength,1);
echo $mytext;

?>

Date : 2010-06-27 23:51:46 By : newaxekub
 


 

No. 12

Guest


เออ..คุณ newaxekub
ผมทดสอบยังไม่ได้ครับ
มันไม่แสดงผลไรเลยครับ

ยังไงผมจะลอง edit ไปพลางๆครับ
Date : 2010-06-28 11:17:56 By : andy
 


 

No. 13



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



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

กลับมาตอบของส่วนนี้นะครับ

ต้องขอโทษก่อนเรื่องคำพูดอย่างจะดูแรงแต่อยากให้คุณเดินเองเป็นนะครับ

ส่วนเรื่องการทำงานของคุณนั้นผมคิดอย่างนี้ครับ

คือ

1. fopen ไฟล์นั้น
2. แยกบรรทัดโดยการใช้ $var = explode ("\n",$ตัวแปรที่เก็บค่าจากการ fopen);
3. $var จะเก็บค่าทุกค่าเป็น array โดยสมมติว่าตามตัวอย่างทีุ่คุณให้คือ
Code (PHP)
2510x
2522y
2526z
2524y
2534x
2531z

ก็จะได้ $var[0] = 2510x , $var[1] = 2522y , ... $var[n] = nnnnx



4. คุณก็ทำการแยกค่าแต่ละตัวเพื่อ ใช้ในการค้นหาอย่างที่คุณต้องการคือตัวเลข 4 ตัวและตัวแปรตัวสุดท้ายโดยการ
Code (PHP)
foreach ($var AS $key => $value )
{
     //แยกค่าก่อนโดยการใช้ substr
    $a_search[] = substr($value,0,4);
    $lastest_var[] = substr($value,-1,1);
}


5. คุณก็ใช้ฟังก์ชั่น array_search หาใน ตัวแปร $a_search แล้วคุณเจอในนั้นก็ให้เอาค่า index ของ $a_search ที่เจอใส่ในตัวแปร
$lastest_var ก็จะได้ค่าของตัวแปรตัวหลังมา


ไม่เข้าใจขั้นตอนไหนจะอธิบายเพิ่มให้นะครับ
Date : 2010-06-28 11:39:35 By : oxygenyoyo
 


 

No. 14

Guest


-ข้อ5 ประมาณนี้หรือครับ คือไม่เข้าใจตรง เอาค่า index ของ $a_search ที่เจอใส่ในตัวแปร
$lastest_var

Code (PHP)
$result=array_search($ค่าที่จะหา,$a_search);
if($result !=NULL) {
echo $lastest_var[];
}
else echo "not found";

มาถูกทางปะเนี่ย
อิอิ บอกตามตรงครับผมงงเรื่องแยก array มากครับ
Date : 2010-06-28 14:47:45 By : andy
 


 

No. 15



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



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

ไม่ใช่ครับ

ฟังก์ชั่น array_search จะ return ค่าที่เป็น key ออกมา

ถ้าคุณเขียน
Code (PHP)
$result = array_search('2510',$a_search);

//ค่าที่เก็บใน $result จะเป็น 0 เพราเป็นตัวแรกคุณลอง echo ออกมาดูก็ได้
//แล้วถ้าคุณต้องการเอาค่าสุดท้ายในแถวนั้นก็

echo $lastest_var[$result];




คุณก็ต้อง พยายาม อ่ะครับไม่มีวิธีอื่นหรอกครับ ผมเคยเป็นอย่างคุณไม่ชอบก็ไม่ทำทางนั้น แต่เพียงเราพยายามจะทำได้เองครับ

ถ้าคุณยังไม่คล่องแนะนำนะ หาหนังสือ workshop มาลองครับเอาเล่มเล็กๆนะไม่ต้องใหญ่จะได้เห็นภาพรวมง่ายๆ
Date : 2010-06-28 14:59:16 By : oxygenyoyo
 


 

No. 16

Guest


ขอบคุณ ท่านที่ชี้แนะครับ
ผมได้วิธีง่ายๆมาครับ(คงใช้ไปก่อน จนกว่าจะเรียนรู้มากขึ้น)

ส่วนวิธีที่ทุกท่านแนะนำมา ผมจะนำไปศึกษาเพิ่มครับ
ขอบคุณท่า oxygenyoyo มากครับที่ชี้แนะ

ใช้อันนี้ไปก่อนครับ
Code (PHP)
$file = file_get_contents("file.txt");

if(strpos($file, $id."x")) {
echo "a";
}
else if (strpos($file, $id."y")){
echo "b";
}
else if (strpos($file, $id."z")){
echo "c";
}else {
echo "not found";
}

Date : 2010-06-28 15:14:24 By : Andy
 


 

No. 17

Guest


ลืมเปลี่ยน a b c เป็น x y z
Date : 2010-06-28 15:16:07 By : andy
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ ผมมีข้อมูลเป็น text file ครับ ซึ่งมีข้อมูลเยอะมากๆ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่