ต้องการค้นหาคำว่า 'วันที่' ใน textfile และให้แสดงตัวเลขหลังคำว่าวันที่เท่านั้น
ใช่ WHERE Col LIKE 'วันที่%' แบบนี้หรือเปล่าครับ
Date :
2012-05-03 20:42:34
By :
mr.win
ข้อมูลใน textfile คะ ไม่ได้เก็บใน database
Date :
2012-05-03 21:10:59
By :
Butterney
พี่คะ ถ้าต้องการแสดงตัวเลขที่อยู่หลังคำว่า "วันที่" ต้องเขียนโค้ดยังไงคะ
Date :
2012-05-03 21:28:56
By :
Butterney
Code (PHP)
$no=1;
$arr1 = array();
$strFileName = "compare-text1.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$contents = trim(fgets($objFopen, 4096));
array_push( $arr1, $contents);
echo "$no.) $contents มีความยาว " . strlen($contents) . " ตัวอักษร<br>";
$no++;
}
}
fclose($objFopen);
echo "<hr />";
$arr2 = array();
$strFileName = "compare-text2.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$contents = trim(fgets($objFopen, 4096));
array_push( $arr2, $contents);
echo "$no.) $contents มีความยาว " . strlen($contents) . " ตัวอักษร<br>";
$no++;
}
}
fclose($objFopen);
echo "<hr />";
foreach ( $arr1 as $value1 ) {
foreach ( $arr2 as $value2 ) {
// ค้นหาคำว่า วันที่ จาก $value1
if(strstr($value1,"วันที่")){
// ถ้าค้นเจอ ก็ทำการแยก
list( , $competitor) = explode("วันที่",$value1);
if ( $competitor == $value2 ) {
print "duplicated string is \"".$value1."\"<br />\n";
}
}
}
}
Date :
2012-05-03 21:39:26
By :
sakuraei
ต้องการให้มันค้นหาคำว่า "วันที่" จาก $value2 อ่ะคะ ถ้าเจอให้เอา ตัวเลขหลังคำว่า "วันที่" ไปเทียบกับ $value 1 แต่ตัวเลขที่ไม่ได้อยู่หลังคำว่า วันที่ก็ไม่ต้องเทียบอ่ะคะ ส่วนคำอื่น ๆ ก็เทียบตามปกติคะ ช่วยดูให้ด้วยนะคะ
Date :
2012-05-03 22:00:41
By :
Butterney
สลับชื่อไฟล์เอาซิครับ
03.$strFileName = "compare-text1.txt";
18.$strFileName = "compare-text2.txt";
Date :
2012-05-03 22:04:29
By :
sakuraei
มันโชว์คำว่า "วันที่" คำเดียวอ่ะคะ คำอื่น ๆ มันไม่โชว์
Date :
2012-05-03 22:08:17
By :
Butterney
งั้นต้องลองเอาข็อมูลตัวอย่างมาดูล่ะครับ เอามาทั้งสองไฟล์เลยน่ะ
Date :
2012-05-03 22:20:34
By :
sakuraei
ต้องการให้มันเสดง
มหาวิทยาลัยเชียงใหม่
รับ
สมัคร
อาจารย์
วันที่
12
เมษายน
เลข 2 หลังคำว่าจำนวน ไม่ต้องนำไปเทียบ
Date :
2012-05-03 22:39:43
By :
Butterney
ไม่ได้หรอกครับ เพราะว่า "วันที่ 12 เมษายน 2555" ไม่ได้อยู่บรรทัดเดียวกัน
แบบนี้ต้องคิดใหม่ ทำใหม่ครับ
ประวัติการแก้ไข 2012-05-03 22:47:29
Date :
2012-05-03 22:41:49
By :
sakuraei
คือตั้งเงื่อนไขให้โชว์แค่ ตัวเลขหลัง คำว่า "วันที่" คือ 12 ได้ไหมคะ ส่วนคำอื่น ๆ ก็เทียบปกติ
Date :
2012-05-03 22:49:17
By :
Butterney
ขอเวลาสักพักน่ะครับ
Date :
2012-05-03 22:52:41
By :
sakuraei
ขอบคุณมากนะคะ ^^
Date :
2012-05-03 22:55:55
By :
Butterney
พี่คะ แต่มันยังโชว์ "2" อยู่เรย อยากให้มันโชว์เฉพาะตัวเลขที่อยู่หลังคำว่า "วันที่" อ่ะคะ แบบนี้คะ
duplicated string is "มหาวิทยาลัยเชียงใหม่"
duplicated string is "รับ"
duplicated string is "สมัคร"
duplicated string is "อาจารย์"
duplicated string is "วันที่"
duplicated string is "12"
duplicated string is "เมษายน"
Date :
2012-05-04 00:18:10
By :
Butterney
ฉบับปรับปรุง
Code (PHP)
$keep = 0;
foreach ( $arr1 as $value1 ) {
foreach ( $arr2 as $value2 ) {
$competitor = explode("//",$value2);
if ($competitor[0] == $value1 ) {
if(is_numeric($competitor[0]) && !$keep)
;
else
echo "duplicated string is \"".$value1."\"[ $keep]<br />\n";
if($competitor[0] == "วันที่") $keep=1;
}
}
}
รับสอนพิเศษ ที่ ชม,ด้วยน่ะครับ
ถ้าสนใจติดต่อหลังไมค์ครับ... ฮ่าๆๆ
Date :
2012-05-04 01:12:29
By :
sakuraei
ไม่เห็นจะเอาตัวอย่างไฟล์มาเล้ย
Date :
2012-05-04 01:20:34
By :
pjgunner.com
รู้สึกจะมีอีกกระทู้นึงนะ
Date :
2012-05-04 04:16:40
By :
ikikkok
ขอดู output ได้ไหมคะพี่ ยังงง ๆ อยู่อ่ะคะ ขอคุณคะ
Date :
2012-05-04 11:21:36
By :
Butterney
ขอบคุณมากนะคะ แต่ตอนนี้กำลังงงอยู่ว่า ถ้าสลับไฟล์กัน มันจะไม่ได้ output ที่ต้องการ oO"
Date :
2012-05-04 12:54:46
By :
Butterney
รบกวนอีกนิดนึงนะคะ output มันโชว์
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is ""[ 0]
duplicated string is "ตั้งแต่"[ 0]
duplicated string is "วันที่"[ 0]
duplicated string is ""[ 1]
duplicated string is ""[ 1]
duplicated string is ""[ 1]
duplicated string is ""[ 1]
duplicated string is ""[ 1]
duplicated string is ""[ 1]
ถ้าต้องการตัดออก ไม่ให้มันโชว์ string ว่าง ๆ ต้องแก้ไขยังไงคะ
Date :
2012-05-04 13:44:11
By :
Butterney
และ output มีคำซ้ำกันอยู่คะ
Date :
2012-05-04 14:04:17
By :
Butterney
Code (PHP)
$keep = 0;
foreach ( $arr1 as $value1 ) {
foreach ( $arr2 as $value2 ) {
$competitor = explode("//",$value2);
if ($competitor[0] == $value1 ) {
if(is_numeric($competitor[0]) && !$keep)
;
elseif(trim($competitor[0]) != "")
echo "duplicated string is \"".$value1."\"[ $keep]<br />\n";
if($competitor[0] == "วันที่") $keep=1;
}
}
}
Date :
2012-05-04 16:39:52
By :
sakuraei
output ยังมีคำที่ซ้ำกันอยู่คะ ใส่โค้ด
$value1= array();
$uniqueArray = array_unique( $value1 );
ต่อท้ายแต่ยังมะได้ต้องเพิ่มอะไรอีกไหมคะ
Date :
2012-05-04 17:14:31
By :
Butterney
งะ ไม่มีใครตอบเลย ช่วยดูให้หน่อยนะคะ ตัดคำซ้ำคะ ลองใช้ฟังก์ชัน array_unique() แต่ยังไม่ได้เลยอะคะ
Date :
2012-05-05 22:27:07
By :
Butterney
Load balance : Server 01