ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์ProgrammingPHP คะ อยากให้อ่านไฟล์ทีละบรรทัดอ่าคะ แล้วเพิ่มใน Databaseคะ
หน้า: [1] 2  ทั้งหมด   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: PHP คะ อยากให้อ่านไฟล์ทีละบรรทัดอ่าคะ แล้วเพิ่มใน Databaseคะ  (อ่าน 3866 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« เมื่อ: 03 มิถุนายน 2010, 13:52:10 »

เป็น ไฟล์ที่อยากให้ 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 ลงทั้งหมดในไฟล์เลยอ่าคะ
บันทึกการเข้า
supachet2526
สมุนแก๊งเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 771



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 03 มิถุนายน 2010, 15:33:05 »

โค๊ด:
<?php

$filename 
"customer.txt";
$handle fopen($filename"r");
$contents fread($handlefilesize($filename));
fclose($handle);
$data split("\n",$contents);//ตัดแต่ละบันทัดมาใส่  array
$i=0;
foreach(
$data as $key => $value){ // loop array


if($i>1){ // สร้างเงื่อนไขถ้าเป็นบันทัดที่ 0-1 จะไม่เอาข้อมูล
$cus_id "";
$cus_id split(",",$value);// แยก 98216930=$cus_id[0] ,Miss.Alex Franco=$cus_id[1] ด้วย comma

importRegisterList($cus_id[0],$course_id,$course_group);
}
$i++;
}



        
        
       
      
        
       
        function 
importRegisterList($cus_id,$course_id,$course_group){
$connect_dbmysqli_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}','');";
 $resultmysqli_query($connect_db,$sql);
 mysqli_close($connect_db);}


?>
ลองดูครับน่าจะถูกนะ  wanwan003
บันทึกการเข้า

รับเขียนเว็บไซต์
บริษัทรับออกแบบเว็บไซต์

ขายบ้านมือสอง

ถ้าคุณลงมือทำในสิ่งที่คุณสนใจอยู่เสมอ อย่างน้อยจะมีคนคนหนึ่งที่พอใจ
supachet2526
สมุนแก๊งเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 771



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 03 มิถุนายน 2010, 15:51:58 »

โค๊ด:
<?php

$filename 
"customer.txt";
$handle fopen($filename"r");
$contents fread($handlefilesize($filename));
fclose($handle);
$data split("\n",$contents);//ตัดแต่ละบันทัดมาใส่  array
$i=0;
foreach(
$data as $key => $value){ // loop array


if($i>1){ // สร้างเงื่อนไขถ้าเป็นบันทัดที่ 0-1 จะไม่เอาข้อมูล
$cus_id "";
$cus_id split(",",$value);// แยก 98216930=$cus_id[0] ,Miss.Alex Franco=$cus_id[1] ด้วย comma

importRegisterList($cus_id[0],$course_id,$course_group);
}
$i++;
}



        
        
       
      
        
       
        function 
importRegisterList($cus_id,$course_id,$course_group){
$connect_dbmysqli_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}','');";
 $resultmysqli_query($connect_db,$sql);
 mysqli_close($connect_db);}


?>
ลองดูครับน่าจะถูกนะ  wanwan003
โค๊ด:
<?php

$filename 
"customer.txt";
$handle fopen($filename"r");
$contents fread($handlefilesize($filename));
fclose($handle);
$data split("\n",$contents);//ตัดแต่ละบันทัดมาใส่  array
$i=0;
foreach(
$data as $key => $value){ // loop array

if($i==0){
//บันทัดแรกแยก id
$c_id str_replace("TITLE","",$data[0]);
$c_id split(" ",$c_id);
$c_id trim($c_id[0].$c_id[1].$c_id[2]);



}
if($i==1){
//บันทัด 2 แยก group
$group $c_id str_replace("GROUP","",$data[1]);
$group trim($group);

}


if($i>1){ // บันทัดที่ 2 ขึ้นไป
$cus_id "";
$cus_id split(",",$value);// แยก 98216930=$cus_id[0] ,Miss.Alex Franco=$cus_id[1] ด้วย comma

//importRegisterList($c_id,$group,$cus_id[0]);
}
$i++;
}



        
        
       
      
        
       
        function 
importRegisterList($cus_id,$course_id,$course_group){
$connect_dbmysqli_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}','');";
 $resultmysqli_query($connect_db,$sql);
 mysqli_close($connect_db);}


?>

แก้ไขใหม่ครับพอดีอ่านไม่ครับ  wanwan003 wanwan003 wanwan003
บันทึกการเข้า

รับเขียนเว็บไซต์
บริษัทรับออกแบบเว็บไซต์

ขายบ้านมือสอง

ถ้าคุณลงมือทำในสิ่งที่คุณสนใจอยู่เสมอ อย่างน้อยจะมีคนคนหนึ่งที่พอใจ
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #3 เมื่อ: 03 มิถุนายน 2010, 16:57:41 »

ขอบพระคุณอย่างสูงงนะคะ
แต่มัน แอดข้อมูลเข้าแค่คนเดียวเองอ่าคะ คนที่สองมันไม่ยอมแอดเข้าไปอ่าคะ
ทำกี่ที ก็จะมีคนแรกเท่านั้นที่โดนแอดอ่าคะ

รบกวนช่วยหน่อยนะคะ
ขอบคุณมากคะ
บันทึกการเข้า
siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 03 มิถุนายน 2010, 17:20:53 »

@ ดูจาก function  importRegisterList ของคุณนี่อันตรายอย่างแรงนะครับ

คือเรียก function ทีนึงก็ connect db ทีนึง ถ้ามีเป็น 100 แถวไม่ต้องลูปร้อยครั้งเพื่อ connect db เหรอครับ เอาการ connect และ ปิด connect mysql ไว้นอกฟังชั่นนะครับ เปลี่ยนด่วน ไม่งั้น mysql พัง!

---------------------------------------------------

@ ในแต่ละแถวไฟล์ คุณใช้อะไรคั่นค่า id กับ custormer name หละครับ ใช้เครื่องหมาย , (คอมม่า) แค่นี้อะเหรอ

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

ตัวอย่างนะ เขียนสดๆให้แต่ไม่ได้เทส ลองเอาไปปรับอีกทีครับ

// connect db ซะ เขียนเพิ่มเอาเองนะครับ

$file = file('ไฟล์ทีเก็บข้อมูล.txt') ;
for($i=0;$i<count($file);$i++) {
  $explo = explode(",",$file) ;
  $id = $explo[0] ;
  $custname = $explo[1] ;

  mysql_query("INSERT INTO yourtable set field_id='$id', field_custname='$custname'") ;  // เปลี่ยนชื่อฟิลด์เอาให้ตรง

  // หรือจะเรียกใช้ function ก็ได้ แต่อย่าลืมเรื่องอย่าให้ใน function ที่จะใช้ไป connect db ซ้ำๆ เพราะมันอยู่ใน loop ของไฟล์แต่ละแถวอยู่ครับ!!!! ****
}

unset($file) ;

--------------------------------------------------------------

ประมาณนี้ครับ ลองดูครับ

บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #5 เมื่อ: 03 มิถุนายน 2010, 19:58:55 »

ขอบคุณคะที่แนะนำเรื่อง db ตอนนี้ก็เปลี่ยนแล้ว ไม่เรียกใช้ ใน function เดียวแล้ว
แต่ปัญหาก้เหมือนเดิมคะ มันแอดคนแรกเข้าไป db แค่คนเดียวเอง เช็คที่ function แล้ว ก็ถูกเรียกทุกครั้ง parameter ที่ส่งเข้ามาก็เปลี่ยนตลอด แต่ไม่เข้าใจว่าทำไม ถึงแอดลงไปใน db ได้แค่คนเดียวคะ ขอบคุณคะ
บันทึกการเข้า
siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 03 มิถุนายน 2010, 21:09:30 »

ใน loop ลอง echo ค่าข้อมูลที่ยัดออกมาดูครับ ว่ามีค่าหรือป่าว

บางทีอาจเป็นข้อมูลผิดพลาดใน loop ก็ได้ครับ ทำระบบบางทีต้องเทส echo ค่าออกมาดู ว่าตัวแปรและข้อมูลครบถ้วนไหม

ลองดูครับ
บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
ThaNaButS
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 67
ออฟไลน์ ออฟไลน์

กระทู้: 1,197



ดูรายละเอียด
« ตอบ #7 เมื่อ: 03 มิถุนายน 2010, 21:12:56 »

บลาๆๆๆ
บันทึกการเข้า
ColdMoney
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 12,622



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 03 มิถุนายน 2010, 21:20:18 »

ขอบคุณคะที่แนะนำเรื่อง db ตอนนี้ก็เปลี่ยนแล้ว ไม่เรียกใช้ ใน function เดียวแล้ว
แต่ปัญหาก้เหมือนเดิมคะ มันแอดคนแรกเข้าไป db แค่คนเดียวเอง เช็คที่ function แล้ว ก็ถูกเรียกทุกครั้ง parameter ที่ส่งเข้ามาก็เปลี่ยนตลอด แต่ไม่เข้าใจว่าทำไม ถึงแอดลงไปใน db ได้แค่คนเดียวคะ ขอบคุณคะ

$sql="INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,``) VALUES ('{$course_id}','{$course_group}','{$std_id}','');";
echo $sql."<br>";

หลังบรรทัด $sql นี้ให้ echo ออกมาดูด้วย จากนั้น ก็ copy ทีล่ะบรรทัดไปใส่ phpmyadmin ให้มัน query โดยตรงเลยครับ ถ้ามันแสดง error ก็จะรู้ล่ะว่าเพราะอะไร

บันทึกการเข้า

bouy22
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 408
ออฟไลน์ ออฟไลน์

กระทู้: 2,334



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 03 มิถุนายน 2010, 21:33:26 »

ไฟล์ test.txt
โค๊ด:
TITLE DID 789 Markup course
GROUP 2
98216930,Miss.Alex Franco
98216931,Miss.Alex Franco
98216932,Miss.Alex Franco
98216933,Miss.Alex Franco
98216934,Miss.Alex Franco
98216935,Miss.Alex Franco
98216936,Miss.Alex Franco
98216937,Miss.Alex Franco
98216938,Miss.Alex Franco
98216939,Miss.Alex Franco
982169310,Miss.Alex Franco
.....
982169999,Miss.Alex Franco





ไฟล์ Connect.php
โค๊ด:
<?php
error_reporting 
(E_ALL E_NOTICE);
$host="localhost";$username="root";$password="1234";$dbname="db_name";

$connect= @mysql_connect($host$username$password
or die('Connect Database Fail.'); 

$db=@mysql_select_db($dbname
or die('Database not found.');

mysql_db_query($dbname,"set names 'UTF8'");
?>




ไฟล์หลัก index.php
โค๊ด:
<?php
// การอ่านข้อมูลจาก Text File 
$filename="test.txt";
$data=file($filename);   //ข้อมูลที่ได้จากการใช้ Function file() จะได้ออกมาเป็น Array แต่ละบันทัดข้อมูลที่เก็บใน File คือ 1 ค่า index ของ Array

for($i=0;$i<count($data);$i++){  //วนรอบเพื่อแสดงผลขอ้มูล หา DID 
if(strpos($data[$i],"TITLE")) {
$course_id=substr($data[$i],8,9);
$course_id str_replace(" """$course_id);
}
if(strstr($data[$i],"GROUP")) {
$course_group=substr($data[$i],5);
}
// end for
echo "\$course_id = ".$course_id."<br/>";
echo "\$course_group = ".$course_group."<br/>";
echo "---------------------------------------------------------------------<br /><br /><br />";

for($i=2;$i<count($data);$i++){  //วนรอบเพื่อแสดงผลขอ้มูล
  $explo explode(",",$data[$i]) ;
  $id $explo[0] ;
  $custname $explo[0] ;
echo "\$sql=\"INSERT INTO tb_name VALUES ('$course_id','$course_group','$custname')\";<br />";
echo "\$result=mysql_db_query(\$dbname,\$sql);<br />";
}
?>




ผลที่ได้ (ไม่รู้ใช้อย่างที่ต้องการหรือป่าว Tongue Tongue)

$course_id = DID789
$course_group = 2
---------------------------------------------------------------------


$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216930')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216931')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216932')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216933')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216934')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216935')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216936')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216937')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216938')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','98216939')";
$result=mysql_db_query($dbname,$sql);
$sql="INSERT INTO tb_name VALUES ('DID789',' 2 ','982169310')";
$result=mysql_db_query($dbname,$sql);
บันทึกการเข้า

สนใจทำธุรกิจไอศกรีมหนองโพ คลิกเลย | ลงประกาศโฆษณา ประกาศฟรี | เว็บฝากรูป | สคริปเกมแฟลช |
ผลิตภัณฑ์เสริมอาหารออกซิเจนน้ำ Adoxy
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #10 เมื่อ: 03 มิถุนายน 2010, 21:35:18 »

ลองปริ้น sql ออกมาดูแล้วคะ sql ออกมาถูก เอาเข้าไปแอดแบบ manual ใน mysql ก็ถูกอ่าคะ
ค่าใน mysql ก็ถูกด้วยอ่าคะ
โค๊ด:
<?php

$filename 
"customer.txt";
$handle fopen($filename"r");
$contents fread($handlefilesize($filename));
$j=0;
fclose($handle);
 
$connect_dbmysql_connect("localhost","root","1234") or die('Error connecting to mysql');
         
mysql_select_db("mydatabase");
         if(!
$connect_db) {
            echo 
"Cannot connect to databse <br>";
            exit;
}
$data split("\n",$contents);//ตัดแต่ละบันทัดมาใส่  array
$i=0;
$course_id="";
$course_group="";
foreach(
$data as $key => $value){ // loop array

     
if(strpos($value,"TITLE")){
          
$course_id=substr($value,6,8);
          
$course_id str_replace(" """$course_id);
     }
 if(strpos($value,"GROUP")) {
      
$course_group=substr($value,7,2);
     }

    
if($i>9){ // สร้างเงื่อนไขถ้าเป็นบันทัดที่ 0-1 จะไม่เอาข้อมูล
$std_id "";
//$std_id = split(",",$value);// แยก 98216930=$cus_id[0] ,Miss.Alex Franco=$cus_id[1] ด้วย comma
$std_id explode(",",$value);

//echo $course_id." ".$course_group." ".$std_id[0]."<br>";
//echo $i."<br>";
$sql=importRegisterList($course_id,$course_group,$std_id[0]);

mysql_query($sql);
//echo $sql."<br>";
}
$i++;
}
        
        function 
importRegisterList($course_id,$course_group,$std_id){
$j++;
$sql="INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('$course_id','$course_group','$std_id',' ');";
 echo $j."test importRegisterList ".$std_id." ".$course_id." ".$course_group."<br>";
return $sql;
 }
 
 mysql_close($connect_db);

?>


Pattern File อ่าคะ
โค๊ด:
**********************************************************
**********************************************************
**********************************************************
*DSD Format
*TITLE DND 105
*SECTION  
*GROUP 12
*
*
**********************************************************
90216902,นางสาวYYY XXX
92216903,นายนางสาวYYY XXX
44216904,นางสาวPPP OOO
33216905,นายBBB LLL
22216906,นางXXX PPP

ลองปริ้นค่ามาดู ก็ออกถูกทุกค่า ปริ้น sql มาดูก็ถูกคะ ไม่มี error รบกวน ท่านผู้ชำนาญช่วยด้วยคะ

INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('DND105','12','90216902',' ');
INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('DND105','12','92216903',' ');
INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('DND105','12','44216904',' ');
INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('DND105','12','33216905',' ');
INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('DND105','12','22216906',' ');

ปัญหาก็คือ มันแอดลง ใน DB แค่ record ของคนแรกคนเดียวเองอ่าคะ
ขอบคุณมากๆๆๆนะคะ
« แก้ไขครั้งสุดท้าย: 03 มิถุนายน 2010, 21:39:58 โดย Desigh008 » บันทึกการเข้า
bouy22
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 408
ออฟไลน์ ออฟไลน์

กระทู้: 2,334



ดูรายละเอียด เว็บไซต์
« ตอบ #11 เมื่อ: 03 มิถุนายน 2010, 21:39:47 »

มีดอกจันทร์ ด้วยก็ไม่บอก  Tongue Tongue ลองแก้โค๊ดดูแล้วกันครับคิดว่า ไม่ใช่ก็ใกล้เคียง
บันทึกการเข้า

สนใจทำธุรกิจไอศกรีมหนองโพ คลิกเลย | ลงประกาศโฆษณา ประกาศฟรี | เว็บฝากรูป | สคริปเกมแฟลช |
ผลิตภัณฑ์เสริมอาหารออกซิเจนน้ำ Adoxy
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #12 เมื่อ: 03 มิถุนายน 2010, 21:47:27 »

mysql ที่ปริ้นมาลองเอาไปแอด manual ใน PHPMyadmin ถูกอ่าคะ แต่ ไม่เข้าใจตรงที่ว่า ทำไม ในลูปมันไม่แอดให้อัตโนมัติอ่าคะ มันแอดแค่ record แรกเดียวเองอ่าคะ
ลองเช็คทุกอย่างแล้ว ทั้งค่าที่ได้ ก็ถูก ใครมีวิธีช่วยด้วยคะ
บันทึกการเข้า
mean
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 121
ออฟไลน์ ออฟไลน์

กระทู้: 1,009



ดูรายละเอียด เว็บไซต์
« ตอบ #13 เมื่อ: 03 มิถุนายน 2010, 22:23:07 »

ขอ Pattern ของไฟล์ เต็มๆ หน่อยครับสักสองกลุ่ม

แล้วขอ Output ที่ต้องการหน่อยครับ

พอดีผ่าน ด้านบนงงๆ ครับเห็นมี Pattern หลายอัน

เผื่อช่วยได้จะเขียนช่วยครับ
บันทึกการเข้า

SL_master
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 57
ออฟไลน์ ออฟไลน์

กระทู้: 1,188



ดูรายละเอียด เว็บไซต์
« ตอบ #14 เมื่อ: 03 มิถุนายน 2010, 22:29:13 »

ผมว่า ถ้า echo ถูก
อัพแบบ manual ถูก

ปัญหาอาจจะเกิดจาก ตารางของ sql
ลองดูครับว่าเผลอไปตั้ง primaryอะไร หรือเปล่า
บันทึกการเข้า

siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« ตอบ #15 เมื่อ: 03 มิถุนายน 2010, 22:38:19 »

ทำไม function นี้มันถึงมีการปิดฐานข้อมูลไปก่อนหละครับ ?? mysql_close($connect_db) ; ลองเอาออกดูนะครับ เพราะต้นไฟล์ connect db ไป แต่พอใน function ก็ปิดฐานข้อมูลไปซะเฉยๆ การปิดฐานข้อมูลก็แยกออกไปนอก loop นอก function เหมือนการ connect ด้วยครับ

 function importRegisterList($course_id,$course_group,$std_id){
      $j++;
      $sql="INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('$course_id','$course_group','$std_id',' ');";
       echo $j."test importRegisterList ".$std_id." ".$course_id." ".$course_group."<br>";
      return $sql;
       }
      
       mysql_close($connect_db); <-- ลองเอาออกดูครับ
      
      ?>
บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #16 เมื่อ: 03 มิถุนายน 2010, 22:42:18 »

โค๊ด:
**********************************************************
**********************************************************
**********************************************************
*DSD Format
*TITLE DND 105 Markup
*SECTION   
*GROUP 12
*
*
**********************************************************
52276902,นางสาวชุติมา สมใจ
52276903,นายชาติชาย สวัสดี
52276904,นางสาวฉะนันท ขำคม
52276905,นายมัถมา กำใจ
52276906,นางสาวนภัสสร แก้วกาญจน์
52276907,นายลิขิต พงศ์เจง
52276908,นางสาวรินี เพ็นฮั้น
52276909,นายจิตต์ ประเสริฐสัน
52276910,นายจุลพงษ์ ธนรักษ์
นี่คือ patter file จริงๆๆคะ แต่ชื่ออาจจะมีเยอะกว่านี้อ่า

ไปตั้ง primary ไว้ต้อง course_id,course_group อ่าคะ สองตัว ผิดไหมอ่าคะ
บันทึกการเข้า
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #17 เมื่อ: 03 มิถุนายน 2010, 22:45:43 »

ทำไม function นี้มันถึงมีการปิดฐานข้อมูลไปก่อนหละครับ ?? mysql_close($connect_db) ; ลองเอาออกดูนะครับ เพราะต้นไฟล์ connect db ไป แต่พอใน function ก็ปิดฐานข้อมูลไปซะเฉยๆ การปิดฐานข้อมูลก็แยกออกไปนอก loop นอก function เหมือนการ connect ด้วยครับ

 function importRegisterList($course_id,$course_group,$std_id){
      $j++;
      $sql="INSERT INTO `mydatabase`.`registerlist` (`course_id` ,`course_group` ,`std_id` ,`withdraw`) VALUES ('$course_id','$course_group','$std_id',' ');";
       echo $j."test importRegisterList ".$std_id." ".$course_id." ".$course_group."<br>";
      return $sql;
       }
      
       mysql_close($connect_db); <-- ลองเอาออกดูครับ
      
      ?>

ลองเอาออกแล้วคะ แต่ก็ยังแอดแค่ record เดียวเองอ่าคะ หนูก็ไม่ทราบเป็นที่ตรงไหนด้วยอ่าคะ
บันทึกการเข้า
siamjung
Verified Seller
ก๊วนเสียว
*

พลังน้ำใจ: 25
ออฟไลน์ ออฟไลน์

กระทู้: 419



ดูรายละเอียด เว็บไซต์
« ตอบ #18 เมื่อ: 03 มิถุนายน 2010, 22:54:42 »


ไปตั้ง primary ไว้ต้อง course_id,course_group อ่าคะ สองตัว ผิดไหมอ่าคะ

ปรกติ primary key ควรจะมี field เดียวหนะครับ ที่เหลือเค้ามักทำ index หรือ unique เอา เคยเจอคล้ายๆลักษณะนี้เหมือนกัน ยัดเข้าข้อมูลแล้วไม่เข้าเพราะมีปัญหากับ primary key

ลองสร้าง field ไว้อันดับแรกสุดเลย เป็น cust_autoid ชนิด int(6) แล้วก็กำหนดให้เป็น PRIMARY KEY พร้อม auto_increment ผ่าน phpmyadmin เพิ่มดูครับ

แล้วก็ยกเลิก primary key ของสองฟิลด์ก่อนหน้านั้นไป แล้วลองเทสอีกทีคับ
บันทึกการเข้า

งดรับงาน custom coding เตรียมพบบริการใหม่เร็วๆนี้

รับทำ PHP หรือปรับระบบระดับ bigbig เน้น cache คนเข้าแบบกระฉูดๆ <- สมัยก่อน

KendoUI,Ajax,Json,Custom Framework,JqueryUI,Adodb,Memcache,Smarty <- สมัยก่อน

Indicator สัญญาณเทรดคมๆ

App เรียนเทรดพื้นฐาน
Desigh008
Newbie
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 10



ดูรายละเอียด
« ตอบ #19 เมื่อ: 03 มิถุนายน 2010, 23:04:59 »


ไปตั้ง primary ไว้ต้อง course_id,course_group อ่าคะ สองตัว ผิดไหมอ่าคะ

ปรกติ primary key ควรจะมี field เดียวหนะครับ ที่เหลือเค้ามักทำ index หรือ unique เอา เคยเจอคล้ายๆลักษณะนี้เหมือนกัน ยัดเข้าข้อมูลแล้วไม่เข้าเพราะมีปัญหากับ primary key

ลองสร้าง field ไว้อันดับแรกสุดเลย เป็น cust_autoid ชนิด int(6) แล้วก็กำหนดให้เป็น PRIMARY KEY พร้อม auto_increment ผ่าน phpmyadmin เพิ่มดูครับ

แล้วก็ยกเลิก primary key ของสองฟิลด์ก่อนหน้านั้นไป แล้วลองเทสอีกทีคับ

ลองทำตามแล้วอ่าคะ cust_autoid ชนิด int(6) เป็น INT ไม่ได้อ่าคะ เพราะต้องมีตัวอักษรด้วย เลยเปลี่ยนเป็น varchar(6)แทนอ่าคะ แต่ให้ตัวนี้ เป็น primary แทนอ่าคะ แค่ตัวเดียวเอง ลองแล้วคะ แต่ก็ยังไม่ไได้เหมือนเดิมอ่าคะ
บันทึกการเข้า
หน้า: [1] 2  ทั้งหมด   ขึ้นบน
พิมพ์