 |
อยากจะสอบทราบเรื่องการเพิ่มข้อมูลลงฐานข้อมูล โดยการเปรียบเทียบข้อมูลอะครับช่วยเเนะนำที่ |
|
 |
|
|
 |
 |
|
คุณถามเองตอบเองแล้วนี่คับ แล้วต้องการอะไรเหรอ
|
 |
 |
 |
 |
Date :
2013-06-04 11:20:48 |
By :
teez1232002 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือ ผมไม่แน่ใจว่าต้อง เขียน code ตอนเพิ่มข้อมูลไปยังไงอะครับ
|
 |
 |
 |
 |
Date :
2013-06-04 11:32:41 |
By :
romanticaood |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มีเป็นฐานข้อมูลอยู่แล้วเหรอ emp_id--tel
|
 |
 |
 |
 |
Date :
2013-06-04 11:44:53 |
By :
teez1232002 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ใช่ครับ ในฐานข้อมูลมีข้อมูล emp_id ,name,rank ,gread และแต่อยากจะเพิ่ม tel เข้าไปที่หลังอะครับ โดยใช่ emp_id เป็นตัวเปรียบเทียบว่า tel จะอยู่ใน แถวไหนอะครับ emp_id เป็นรหัสพนักงานอะครับ
|
 |
 |
 |
 |
Date :
2013-06-04 11:55:45 |
By :
romanticaood |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
มีอยู่หลายวิธี
สร้าง file ขึ้นมา 1 file ไว้รัน
updatetel.php
Code (PHP)
$mysql1 = mysql_query("SELECT emp_id FROM $tb1");
while($arr = mysql_fetch_array($mysql1)){
$mysql2 = mysql_query("SELECT * FROM $tb2 WHERE emp_id = '$arr[emp_id]'");
$tel2 = mysql_fetch_array($mysql2);
$update = mysql_query("UPDATE $tb1 SET tel = '$tel2[tel]' WHERE emp_id = '$arr[emp_id]'");
}
ไม่รู้ได้รึป่าว
|
 |
 |
 |
 |
Date :
2013-06-04 12:11:58 |
By :
teez1232002 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือผมใส่การ Update จาก ไฟล์ CSV อะครับ แล้วลองใช่ Code ของคุณ ไม่ใช่เจ้าชาย อย่าเยอะ code จึงออกมาแบบนี้อะครับ
Code (PHP)
<?php
set_time_limit(300);
move_uploaded_file($_FILES["fileCSV"]["tmp_name"],$_FILES["fileCSV"]["name"]);
include("connectdb.php");
$objCSV = fopen($_FILES["fileCSV"]["name"], "r");
//$objCSV=str_replace("$objArr[25]","'");
while (($objArr = fgetcsv($objCSV, 10000, ",")) !== FALSE) {
$mysql1 = "select * FROM employee WHERE emp_id";
$error24 = mysql_query($mysql1)or die(mysql_error());
while($arr = mysql_fetch_array($mysql1)){
$mysql2 = mysql_query("SELECT * FROM `set` WHERE emp_id = '$arr[emp_id]'");
$error22 = mysql_query($mysql2)or die(mysql_error());
$tel2 = mysql_fetch_array($mysql2);
$error23 = mysql_query($tel2)or die(mysql_error());
$update = mysql_query("UPDATE employee SET tel = '$objArr[17]' WHERE emp_id = '$arr[emp_id]'");
$error21 = mysql_query($update)or die(mysql_error());
}
}
fclose($objCSV);
แล้วมันติด Error ดังนี้อะครับ
Warning: mysql_fetch_array() expects parameter 1 to be resource, string given in C:\Users\aoody\Desktop\xampp\htdocs\Project AOT Final\importtel.php on line 26
ช่วยแก้ไขที่นะครับ
|
 |
 |
 |
 |
Date :
2013-06-04 14:40:30 |
By :
romanticaood |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ช่วยที่ครับ ผมลองแก้ดุแล้วแก้ไม่ได้สักที่เจอทางตันมากๆอะครับ
|
 |
 |
 |
 |
Date :
2013-06-04 15:41:16 |
By :
romanticaood |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ลองอธิบายการทำงานของโค้ดคุณเองให้ดูหน่อยครับ ว่าอะไรทำอะไร อ่านค่าอะไรมา อยากให้อะไรเป็นไปยังไง
บรรทัดต่อบรรทัดเลยนะครับ
|
 |
 |
 |
 |
Date :
2013-06-04 15:43:14 |
By :
cookiephp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
$mysql1 = "select * FROM employee WHERE emp_id";
$error24 = mysql_query($mysql1)or die(mysql_error());
while($arr = mysql_fetch_array($mysql1)){
$mysql2 = mysql_query("SELECT * FROM `set` WHERE emp_id = '$arr[emp_id]'"or die(mysql_error()));
$tel2 = mysql_fetch_array($mysql2);
$update = mysql_query("UPDATE employee SET tel = '$tel2[fieldของTelในตารางSET]' WHERE emp_id = '$arr[emp_id]'");
}
เปิด file CSV ไม่ต้องครับเอาไปใส่ใน base เป็น set ก่อน
|
 |
 |
 |
 |
Date :
2013-06-04 15:44:44 |
By :
teez1232002 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่ได้อยู่ดีครับ ไม่ใช่เจ้าชาย อย่าเยอะ
คุณแมวของคุกกี้ ผมก็ไม่ค่อยเข้าใจcode เท่าไหร่อะครับก็คือตามนี้ละกันครับ
บรรทัดที่ 1 รับไฟล์แล้วมาก็อบปี้ไว้ในโฟเดอร์
บรรทัดที่ 2 เปิดไฟล์ CSV อ่าน
บรรทัดนี้ while (($objArr = fgetcsv($objCSV, 10000, ",")) !== FALSE) {
เป็นการวนรูปเพื่ออัพเดรดข้อมูล คือผมอยากให้มัน เปรียบเทียบ emp_id ในตาราง employee กับข้อมูลในไฟล์ ฟิวที่ 13 เพื่อให้นำข้อมูลในฟิวที่ 17 ในไฟล์ อัพเดรดข้อมูลตาม emp_id อะครับ
|
 |
 |
 |
 |
Date :
2013-06-04 16:16:08 |
By :
romanticaood |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าไม่ติด error ตรงอื่น และชื่อคอลัมน์ในฐานข้อมูลถูกต้องทั้งหมด น่าจะได้ครับ
ขอเปลี่ยนชื่อตัวแปรให้สื่อความหมายในแบบ PHP หน่อยนะครับ
<?php
set_time_limit(300);
move_uploaded_file($_FILES['fileCSV']['tmp_name'], $_FILES['fileCSV']['name']);
include("connectdb.php");
$fp = fopen($_FILES['fileCSV']['name'], 'r');
while (($row = fgetcsv($fp, 10000, ',')) !== false) {
mysql_query(
"UPDATE `employee` SET `tel` = '$row[17]' WHERE `emp_id` = '$row[13]' LIMIT 1"
);
}
fclose($fp);
|
 |
 |
 |
 |
Date :
2013-06-04 16:55:43 |
By :
cookiephp |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอบคุณมากคับผม ทำได้แล้วคับ
|
 |
 |
 |
 |
Date :
2013-06-04 22:58:28 |
By :
romanticaood |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|