|
|
|
ต้องการค้นหาค่าใน text file แล้วแสดงผลออกมาครับ ผมมีข้อมูลเป็น text file ครับ ซึ่งมีข้อมูลเยอะมากๆ |
|
|
|
|
|
|
|
น่าสนใจดี
อยากได้ความรู้แนวนี้บ้างครับ
|
|
|
|
|
Date :
2010-06-27 15:39:06 |
By :
สุวิทย์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถูกของคุณ OxyGenyoyo
|
|
|
|
|
Date :
2010-06-27 17:34:19 |
By :
blacklion |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ูู^^^
^^^
เปลี่ยน abc เป็น xyz
ขอบคุณท่าน newaxekub ด้วยครับ
แต่ผมอยากรู้วิธีของ php ครับ
|
|
|
|
|
Date :
2010-06-27 19:25:03 |
By :
andy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อิอิ ยังไม่ได้ตามต้องการครับ
โปรดชี้แนะด้วยครับ
|
|
|
|
|
Date :
2010-06-27 20:39:56 |
By :
andy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมคิดว่าน่าจะมีการตัด
สตริงก้อน่าจะได้นี่ครับตัดจากตัวหลังอ่ะครับผมจำไม่ได้ว่าทำยังงัย
|
|
|
|
|
Date :
2010-06-27 21:17:06 |
By :
keapkung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
text ในแต่ละบรรทัดนี่ fix length ไหม ถ้าใช้ก็ใช้ substr
ตรวจสอบด้านหน้า แล้วเอาตัวหลังไปแสดง
|
|
|
|
|
Date :
2010-06-27 21:21:10 |
By :
tungman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองนี้ดูครับ
ผมเพิ่งรู้ว่า php ก็มี substr เหมือน Flash ด้วย ลองใช้ดูนะครับ
Code (PHP)
<?php
$mytext = "5423z";
$mytext2 = substr("$mytext",-1);
echo $mytext2;
?>
โทดทีครับ โพสลืมทดสอบ โค้ดนี้ยังใช้ไม่ได้นะครับ
|
|
|
|
|
Date :
2010-06-27 22:24:39 |
By :
newaxekub |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เสร็จซะที ลองเอาไปใช้ดูนะครับ ได้ไม่ได้ยังไงก็บอกด้วยนะครับ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เออ..คุณ newaxekub
ผมทดสอบยังไม่ได้ครับ
มันไม่แสดงผลไรเลยครับ
ยังไงผมจะลอง edit ไปพลางๆครับ
|
|
|
|
|
Date :
2010-06-28 11:17:56 |
By :
andy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กลับมาตอบของส่วนนี้นะครับ
ต้องขอโทษก่อนเรื่องคำพูดอย่างจะดูแรงแต่อยากให้คุณเดินเองเป็นนะครับ
ส่วนเรื่องการทำงานของคุณนั้นผมคิดอย่างนี้ครับ
คือ
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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-ข้อ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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ใช่ครับ
ฟังก์ชั่น 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณ ท่านที่ชี้แนะครับ
ผมได้วิธีง่ายๆมาครับ(คงใช้ไปก่อน จนกว่าจะเรียนรู้มากขึ้น)
ส่วนวิธีที่ทุกท่านแนะนำมา ผมจะนำไปศึกษาเพิ่มครับ
ขอบคุณท่า 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลืมเปลี่ยน a b c เป็น x y z
|
|
|
|
|
Date :
2010-06-28 15:16:07 |
By :
andy |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|