가져 오기 파일에 데이터베이스에 값이 삽입되어 있는지 확인해야합니다. 데이터베이스에 이미 값이 있으면 업데이트해야합니다. 다음은 dulipcate 항목을 가져 오는 동안 Excel 파일 가져 오기 - PHP mysql
내가 위의 업로드하면, 다음 파일을 엑셀 아래
prdid | prdname
00A | prd1
00B | prd2
00C | prd3
00D | prd4
는 EXCEL 파일 데이터 그래서
prdid | prdname
00A | prdnew
00B | prd2new
00E | prd8
00H | prd9
입니다 데이터베이스에 producttab 테이블 값
00A , 00B는 UPDATE IN 제품을 가져와야합니다. ttab 테이블은 이미 거기에 있습니다 ...하지만 00E, 00H는 삽입해야합니다
* 아래에 제가 시도한 값입니다. 제대로 삽입되고 있습니다. 업데이트가 부인되지 않습니다. 완벽한 만 UPDATE는 않을 것입니다 인쇄/UPDATE 쿼리의 에코, 파일을 엑셀에 따라 prdname에 대한
update producttab set prdname='prdnew' WHERE prdid='00A'
update producttab set prdname='prd2new' WHERE prdid='00B'
값이 제대로 표시됩니다입니다 .... 단지 아래
if(isset($_POST["Upload"]))
{
$fileinfo = pathinfo($_FILES["uploadFile"]["name"]);
$filetype = $_FILES["uploadFile"]["type"];
$remark = NULL;
//Validate File Type
if(strtolower(trim($fileinfo["extension"])) != "csv")
{
$_SESSION['msg_r'] = "Please select CSV file";
header("location:importfile.php");
exit;
}
else
{
$file_path = $_FILES["uploadFile"]["tmp_name"];
}
$row = 0;
$tempFileName = time().".csv";
if (is_uploaded_file($file_path)) {
$fileCopied = copy($file_path , $tempFileName);
if (($handle = fopen($tempFileName, "r")) !== FALSE) {
fgetcsv($handle);
while (($data = fgetcsv($handle, 6000, ",")) !== FALSE) {
$num = count($data);
for ($c=0; $c < $num; $c++) {
$col[$c] = $data[$c];
}
$col1 = $col[0]; // prdid
$col2 = $col[1]; // prdname
$sql = "SELECT prdid FROM producttab WHERE prdid = '".$col1."' ";
$query = db_query($sql);
$pfetech = db_fetch($query);
// ABOVE select QUERY IS PERFECT , it taking me to if conditions
if($col1 == $pfetech['prdid']){
// only below update not happening
$sqlup = "UPDATE producttab
SET prdid = ".$pfetech['prdid'].",
prdname = ".$col2." ";
$sqlup .= " WHERE prdid = ".$pfetech['prdid']." ";
$resultsqlupdate = mysql_query($sqlup);
}else{
$query = "INSERT INTO producttab(prdid,prdname) VALUES('".$col1."','".$col2.")";
$s = mysql_query($query);
}
}
fclose($handle);
}
echo "<center>File data imported to database!!</center>";
}
}
}
업데이트 * 적절한 ~이다. 일이 없습니다 ....
사람이 ... 문제 .... – user3209031
유 쿼리가 다음 U 업데이트하거나에 삽입 할 수있는 존재 사용할 수 있습니다 뭔지 주시기 바랍니다 도움 링크입니다 결정의 근거. – Asad
유언장에서 죄송합니다. ...하지만 $ col1 값이 어떻게 될지 ... 00A00B ... 같이하면 ... 도와 주실 수 있습니까? – user3209031