insert ข้อมูลไม่ได้คะ ช่วยดูโค๊ด นี้ให้หน่อยคะ ขอบคุณคะ
คงต้องดูฟังก์ชัน current กับ next ด้วยล่ะ
Date :
2012-01-07 08:42:54
By :
nimporn
รู้จุดผิดคะ แต่ไม่รู้จะแก้ยังไงให้หายERROR ไม่เคยใช้ currentกับ next มาก่อน ช่วยดูให้ทีนะคะ ขอบคุณคะ
Date :
2012-01-07 09:46:46
By :
jomjam
ไม่มีคนเข้ามาตอบเรย แฮะroll::
ลองเอาตัวแปร $arr_data มาใช้กับ
Code (PHP)
$a = current( $arr_data )
$b = next( $arr_data )
สามารถ insert ได้ แต่ช่องว่างถูกinsertลงไปด้วย
อยากรู้จังคะ ทำไมการเรียกใช้ตัวแปร
Code (PHP)
$a = current( $v );//error
$b = next( $v);//error
จึงทำให้ Error ทำไมเอาตัวแปรมาใช้กับ currentกับnextมาใช้แบบนี้ไม่ได้ งงจริงๆคะ
Date :
2012-01-07 17:45:46
By :
jomjam
เออเรอร์ เพราะมันไม่ใช่อาร์เรย์ แต่เป็นค่าที่อยู่ใน อาร์เรย์ มันเลยเออร์เออร์
Date :
2012-01-07 18:23:38
By :
artkung
แล้วต้องทำไงดีคะ ......ช่วยแก้หน่อยคะ
Date :
2012-01-07 18:45:55
By :
jomjam
Code (PHP)
<?
$arr_data= explode("|",$text);
$numarr = count($arr_data);
for ($i=0; $i<$numarr; $i++) {
$a = $arr[$i];
$i++;
$b = $arr[$i];
$sql ="INSERT INTO twogram (w_one,w_two,frequency) VALUES ('$a','$b','1') ON DUPLICATE KEY UPDATE FREQUENCY= FREQUENCY+1 ";
$result = mysql_query($sql);
}
if($result) {
echo "เพิ่มข้อมูลงฐานข้อมูลสำเร็จ"."<br>";
} else {
echo "ไม่สามารมเพิ่มข้อมูลได้"."<br>";
}
?>
foreach เป็นการดึงค่าใน array มาเก็บในตัวแปรหลัง as ซึงไม่ใช่ตัวแปร array ครับ
จึงไม่สามารถใช้ฟังก์ชั่น current() หรือ next() ของ array ได้
ไม่แน่ใจว่าผมเข้าใจถูกไหม คือ ในการเพิ่มข้อมูลแต่ละ record คุณต้องใช้ค่าในตัวแปร array เป็นคู่ๆ เช่น
$arr_data[0], $arr_data[1]
$arr_data[2], $arr_data[3]
$arr_data[4], $arr_data[5]
...
ถ้าใช่ก็ใช้ for ธรรมดาวน loop ก็ได้ครับ เช็คจากความยาวของตัวแปร array
ใน loop ก็เก็บค่าตัวแรกก่อน เพิ่มค่า แล้วเก็บตัวที่ 2 ครับ
Date :
2012-01-09 11:47:25
By :
amuropao08
ลองแล้วคะ insert ไม่ได้เลย
Date :
2012-01-09 15:07:53
By :
jomjam
มีฟ้อง error อะไรไหมครับ รบกวนแก้ตรง
Code (PHP)
$result = mysql_query($sql);
เป็น
$result = mysql_query($sql) or die mysql_error();
เพื่อแสดง error และ echo $sql ออกมาดูครับว่าค่าเข้าไปใน query หรือเปล่า
Date :
2012-01-09 15:13:51
By :
amuropao08
ลองแล้วคะ insertได้ แต่เป็นค่าว่าง ข้อมูลไม่มาเรยสักตัวคะ ..
Date :
2012-01-09 15:59:16
By :
jomjam
ลอง echo ค่าที่ส่งมาดูว่ามีค่าส่งมาหรือป่าว
ลองดู
Date :
2012-01-09 16:03:51
By :
ozma
พอจะปรับโค๊ดเก่า มาแก้และใช้ฟังก์ชัน currentกับnext เหมือนเดิมได้ไหมค่ะ
เพราข้อมูลจะต้องตัดช่องว่างออกด้วย ก่อน insert ลงDB
Code (PHP)
//$text ="|| |การ|ประชุม|ทาง|วิชาการ| |ครั้ง|ที่| ||||| |||| || |||||||||||| |การ|";
$arr_data= explode("|",$text);
if (strlen(trim($v))>0)
{
$a = current( $v );//error
$b = next( $v);//error
$sql ="INSERT INTO twogram (w_one,w_two,frequency) VALUES ('$a','$b','1') ON DUPLICATE KEY UPDATE FREQUENCY= FREQUENCY+1 ";
$result = mysql_query($sql);
}
if($result)
{
echo "เพิ่มข้อมูลงฐานข้อมูลสำเร็จ"."<br>";
}
else
{
echo "ไม่สามารมเพิ่มข้อมูลได้"."<br>";
}
}
}
Date :
2012-01-09 16:05:01
By :
jomjam
เพิ่มเติม ข้อมูลประมาณนี้คะ
$text ="|| |การ|ประชุม|ทาง|วิชาการ| |ครั้ง|ที่| ||||| |||| || |||||||||||| |การ|";
Date :
2012-01-09 16:14:26
By :
jomjam
เย้ๆๆๆๆๆได้แล้วคะ Code (PHP)
$arr_data= explode("|",$text);
$numarr = count($arr_data);
for ($i=0; $i<$numarr; $i++) {
$a = current($arr_data);
$b = next($arr_data);
if((strlen(trim($a))>0)&&(strlen(trim($b))>0)){
echo"$a"."<br>";
echo"$b";
$sql ="INSERT INTO twogram (w_one,w_two,frequency) VALUES ('$a','$b','1') ON DUPLICATE KEY UPDATE FREQUENCY= FREQUENCY+1 ";
$result = mysql_query($sql);
}
}
Date :
2012-01-09 18:15:38
By :
jomjam
Load balance : Server 02