ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

andy

ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

Post by andy » 27/06/2010 11:18 am

ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

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

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

ตย. ข้อมูลใน text ลักษณะประมาณนี้ครับ

Code: Select all

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

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 23390
Joined: 22/09/2008 6:18 pm
Contact:

Re: ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

Post by mindphp » 27/06/2010 5:09 pm

ถ้าเป็น text ต้องศึกษา
preg_match()
ขั้นต้นลองดูที่
https://www.mindphp.com/modules.php?name ... age&pid=78
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

4404

Re: ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

Post by 4404 » 27/06/2010 7:27 pm

mindphp wrote:ถ้าเป็น text ต้องศึกษา
preg_match()
ขั้นต้นลองดูที่
https://www.mindphp.com/modules.php?name ... age&pid=78
ขอบคุณมากครับ

แบบนี้พอได้ไหม

Code: Select all

<?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);
}

?>

4404

Re: ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

Post by 4404 » 27/06/2010 7:49 pm

หรือแบบที่สองดีครับ

Code: Select all

<?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(ereg("a$",$Buffer))
    echo "a";
	else if(ereg("b$",$Buffer))
	echo "b";
        else if(ereg("b$",$Buffer))
        echo "c";
	else 
	echo "ไม่มีหมวด";
  }
else echo "ไม่มีข้อมูล";
}

fclose($objFopen);
}

?>
แบท

User avatar
imsn
PHP Super Member
PHP Super Member
Posts: 375
Joined: 07/05/2010 12:58 pm
Contact:

Re: ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

Post by imsn » 27/06/2010 8:28 pm

ผมว่าใช้ preg_match ตามที่คุณ mindphp แนะนำดีกว่านะครับ
ereg มันจะถูกยกเลือก แล้วตั้งแต่ PHP 5.3.0. เป็นต้นไป
ช่วยตอบเพราะอยากโปรโหมทเว็บ คิคิคลิกเลย
หาเพื่อนฝรั่งคุย M ...

4404

Re: ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ

Post by 4404 » 28/06/2010 3:15 pm

สุดท้ายได้แบบนี้ครับ :-D :-D

$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";
}

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: Google Adsense [Bot] and 33 guests