|
|
|
ปัญหาคืออ่านค่าจากไฟล์ excel อ่านค่าตัวแปรที่คอลัมน์ uname จากนั้นส่งไปคำสั่ง sql ค่าที่ได้ไม่ถูกต้องตามไฟล์ excel ไฟล์ excel |
|
|
|
|
|
|
|
ปัญหาคืออ่านค่าจากไฟล์ excel อ่านค่าตัวแปรที่คอลัมน์ uname จากนั้นส่งไปคำสั่ง sql ค่าที่ได้ไม่ถูกต้องตามไฟล์ excel ไฟล์ excel มี 2 ค่าค่าที่ได้ 2 ไอดีเท่านั้นแต่ echo $objResult["id"]." ".$objResult["uname"]."<br>"; แสดงไอดีในฐานข้อมูลทั้งหมด ถ้าปิดคำส่ง $ii=$result["uname"]." "; และใช้คำสั่ง$ii = array("รัตนวงศ์สวัสดิ์", "ศรีแสงทอง", "งามเสาวรส"); ผลลัพธ์ที่ได้ถูกต้อง แก้อย่างไรครับ
รูปแบบไฟล์ excel
ID MAJOR MOVEMAJOR uname
5573011201 R02 R10 รัตนวงศ์สวัสดิ์
5573011201 R02 R10 จิตประดี
Code (PHP)
<html>
<meta http-equiv="Content-Language" content="th">
<meta http-equiv="content-Type" content="text/html; charset=tis-620">
<meta http-equiv="content-Type" content="text/html; charset=window-874">
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
<head>
</head>
<body>
<?php
require_once 'Classes/PHPExcel.php';
include 'Classes/PHPExcel/IOFactory.php';
$inputFileMAJOR = "1.xls";
$inputFileType = PHPExcel_IOFactory::identify($inputFileMAJOR);
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
$objReader->setReadDataOnly(true);
$objPHPExcel = $objReader->load($inputFileMAJOR);
$objWorksheet = $objPHPExcel->setActiveSheetIndex(0);
$highestRow = $objWorksheet->getHighestRow();
$highestColumn = $objWorksheet->getHighestColumn();
$headingsArray = $objWorksheet->rangeToArray('A1:'.$highestColumn.'1',null, true, true, true);
$headingsArray = $headingsArray[1];
$r = -1;
$namedDataArray = array();
for ($row = 2; $row <= $highestRow; ++$row) {
$dataRow = $objWorksheet->rangeToArray('A'.$row.':'.$highestColumn.$row,null, true, true, true);
if ((isset($dataRow[$row]['A'])) && ($dataRow[$row]['A'] > '')) {
++$r;
foreach($headingsArray as $columnKey => $columnHeading) {
$namedDataArray[$r][$columnHeading] = $dataRow[$row][$columnKey];
}
}
}
foreach ($namedDataArray as $result) {
$ii=$result["uname"]." ";
}
//$ii = array("รัตนวงศ์สวัสดิ์", "ศรีแสงทอง", "งามเสาวรส");
$arrlength = count($ii );
for($x = 0; $x < $arrlength; $x++) {
$ii[$x];
if($ii != "")
{
$objConnect = odbc_connect("trans","","") or die("Error Connect to Database");
$strSQL = "SELECT * FROM dbo_PERSON_EDU WHERE (uname LIKE '%".$ii[$x]."%' )";
$objExec = odbc_exec($objConnect, $strSQL) or die ("Error Execute [".$strSQL."]");
while($objResult = odbc_fetch_array($objExec))
{
echo $objResult["id"]." ".$objResult["uname"]."<br>";
}}
odbc_close($objConnect);
}
?>
</body>
</html>
Tag : PHP, Ms Access
|
|
|
|
|
|
Date :
2017-02-03 11:03:38 |
By :
mininova |
View :
1428 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน Loop for ลอง
print_r($dataRow);
มีค่าอะไรออกมาหรือเปล่าครับ
PHPExcel กับ Reader การอ่านไฟล์ Excel (.xls,.xlsx) และการนำเข้าฐานข้อมูล MySQL
|
|
|
|
|
Date :
2017-02-06 11:10:00 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน Loop for ลอง
print_r($dataRow); ได้ค่า
Array ( [2] => Array ( [A] => 5573011201 [B] => R02 [C] => R10 [D] => รัตนวงศ์สวัสดิ์ ) ) Array ( [3] => Array ( [A] => 5573011201 [B] => R02 [C] => R10 [D] => จิตประดี ) ) Array ( [4] => Array ( [A] => [B] => [C] => [D] => ) )
มี array ที่เป็นค่าว่าง 1 แถวตลอดหลังวนหาค่าตามแถว
|
|
|
|
|
Date :
2017-02-06 11:34:29 |
By :
mininova |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทดสอบภาษาไทยที่ผ่านผ่านการอ่าน phpexcel ตามข้างล่าง
Code (PHP)
echo" from read excel";
echo"<br>";
foreach ($namedDataArray as $result) {
$str=$result["uname"]." ";
$item['category_names'] = $str;
$string_1 = explode(" ", $item['category_names']);
foreach($string_1 as $gg) {
//$tis620 = iconv("utf-8", "tis-620", $gg );
echo $gg;
}
echo"<br>";
}
ผลลัพธ์ได้
from read excel
เธฃเธฑเธ•เธเธงเธเธจเนเธชเธงเธฑเธชเธ”เธดเน
เธเธดเธ•เธเธฃเธฐเธ”เธต ได้ภาษาอ่านไม่ออก
ถ้าเอา <meta http-equiv="content-Type" content="text/html; charset=tis-620"> ออกอ่านภาษาไทยได้แต่
$ii = array("รัตนวงศ์สวัสดิ์", "ศรีแสงทอง", "งามเสาวรส"); จะอ่านภาษาไทยไม่ได้ทำให้คิวรี่ในฐานข้อมูลไม่ได้
เป็นเพราะอะไร
|
|
|
|
|
Date :
2017-02-06 12:00:01 |
By :
mininova |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|