|
|
|
PHP คะ อยากให้อ่านไฟล์ทีละบรรทัดอ่าคะ แล้วเพิ่มใน Databaseคะ |
|
|
|
|
|
|
|
เป็น ไฟล์ที่อยากให้ insert ใน db อ่าคะ customer.txt
โค๊ด:
TITLE DID 789 Markup course
GROUP 2
98216930,Miss.Alex Franco
87216931,Mr.Geot Kiad
98216930,Miss.Alex Franco
87216931,Mr.Geot Kiad
...
แต่ ตอนนี้ที่ทำได้ก็คือมันอ่านรวดเดียวจบเลย คือความต้องการแค่ต้อง ID ข้างหน้าแล้วเก็บลงในอาร์เรย์อ่าคะ
<?
$strFileName = "customer.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen);
if(strpos($file,"TITLE")) {
$course_id=substr($file,6,8);
$course_id = str_replace(" ", "", $course_id);
echo $course_id."<br>";
}
if(strpos($file,"GROUP")) {
echo substr($file,7);
$course_group=substr($file,7);
}
$file=strtok($file,"*");
$pattern_id= "[4-9][[:digit:]]*";
$string=substr($file, 0,8);
if(ereg($pattern_id,$string)) {
$cus_id=substr($file,0,8);
importRegisterList($cus_id,$course_id,$course_group);
// คือตรงนี้เปรียบเทียบเอาแค่ตัวเลขมาเฉยๆๆคะ แต่ผลลัพธ์มันไม่อ่านทีละบรรทัด อ่านรวดเดียวจบเลย เลยทำให้
//function importRegisterList ทำครั้งแรกครั้งเดียวเองอ่าคะ
}
}
fclose($objFopen);
}
?>
<?
function importRegisterList($cus_id,$course_id,$course_group){
$connect_db= mysqli_connect("localhost","root","1234") or die('Error connecting to mysql');
mysqli_select_db( $connect_db,"mydatabase");
if(!$connect_db) {
echo "Cannot connect to databse <br>";
exit;
}
$sql="INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,``) VALUES ('{$course_id}','{$course_group}','{$std_id}','');";
$result= mysqli_query($connect_db,$sql);
mysqli_close($connect_db);}
?>
อยาก ให้มัน เพิ่มลง ใน database อ่าคะ ใครแนะนำช่วยทีนะคะ
อยากให้ เก็บแค่ DID789,2,98216930 แค่นี้อ่าคะแต่ตอนนี้ที่ทำ ทำแค่อันแรกอันเดียว คือข้อมูลแรกแค่อันเดียวเอง อยากให้มัน insert ลงทั้งหมดในไฟล์เลยอ่าคะ
Tag : - - - -
|
|
|
|
|
|
Date :
2010-06-03 14:49:50 |
By :
desigh |
View :
2135 |
Reply :
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code
<?
$strFileName = "customer.txt";
$objFopen = fopen($strFileName, 'r');
if ($objFopen) {
while (!feof($objFopen)) {
$file = fgets($objFopen);
if(substr($file,0,5) == "TITLE") {
$course_id=substr($file,6,8);
$course_id = str_replace(" ", "", $course_id);
//echo $course_id."<br>";
}
if(substr($file,0,5) == "GROUP") {
//echo substr($file,6);
$course_group=substr($file,6);
}
$file=strtok($file,"*");
$pattern_id= "[4-9][[:digit:]]*";
$string=substr($file, 0,8);
if(ereg($pattern_id,$string)) {
$cus_id=substr($file,0,8);
importRegisterList($cus_id,$course_id,$course_group);
}
}
fclose($objFopen);
}
?>
ลองตัวนี้ดูครับตรงที่ใช้ strpos เวลามันเจอคำมันจะคืนค่าตำแหน่งที่เจอนะครับ จากไฟล์ customer.txt คำที่เจอคือตำแหน่งที่ 0 นั้นแสดงว่ามันจะไม่เข้าไปทำในเงื่อนไขแม้ว่าจะเจอคำนั้นครับ
หากผิดพลาดก็ขออภัยด้วยครับ
|
|
|
|
|
Date :
2010-06-03 16:07:23 |
By :
AnimalMan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|