สอบถามโค้ดครับ พอทำแล้วมัน Insert ข้อมูลซ้ำครับ มันผิดตรงไหนหรือเปล่าครับ
Code (PHP)
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<title>Untitled Document</title>
<script type="text/JavaScript">
<!--
function timedRefresh(timeoutPeriod) {
setTimeout("location.reload(true);",timeoutPeriod);
}
// -->
</script>
</head>
<body onLoad="JavaScript:timedRefresh(10000);"><!-- กำหนดเวลาในการ Refresh ยิ่งเยอะยิ่งนาน -->
<?php
$serverName = "localhost";
$userName = "root";
$userPassword = "12345678";
$dbName = "dbname";
$conn = mysqli_connect($serverName, $userName, $userPassword, $dbName);
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//$depid = "A00610000031"; //สำนัก
$depid = "A006"; //กรม
$aType = array('P0','15','B0','D0','W0','D1','W1','D2','W2');
$aCat = array(1,2,3,4,5,6,7,8,9); //รหัสหมวดหมู่ สำหรับแยกประเภทประกาศ anounceType
date_default_timezone_set('Asia/Bangkok');
$begintime1 = strtotime("12:01:01");
$endtime1 = strtotime("12:59:00");
$begintime2 = strtotime("17:01:01");
$endtime2 = strtotime("24:00:00");
$begintime3 = strtotime("00:00:01");
$endtime3 = strtotime("08:59:59");
$now = time();
if (($now >= $begintime1 && $now <= $endtime1) || ($now >= $begintime2 && $now <= $endtime2) || ($now >= $begintime3 && $now <= $endtime3)) {
$i = 0;
foreach ($aType as $newsType) { //ประเภทประกาศ
//$url = "http://www.tungpheung.go.th/newsfeed.xml"; //ไฟล์ xml สำหรับใช้ทดสอบ
//$url = "http://process3.gprocurement.go.th/EPROCRssFeedWeb/egpannouncerss.xml?deptsubId=" . $depid . "&anounceType=" . $newsType; // เฉพาะสำนัก
$url = "http://process3.gprocurement.go.th/EPROCRssFeedWeb/egpannouncerss.xml?deptId=" .$depid. "&anounceType= " .$newsType; //แบบทั้งกรม
libxml_use_internal_errors(true);
$doc = simplexml_load_string(file_get_contents($url));
if ($doc === false) {
libxml_clear_errors();
libxml_use_internal_errors($doc);
} else {
$items = $doc->xpath("/rss/channel/item");
foreach ($items as $item) {
//ตรวจสอบข่าวที่มีอยู่แล้ว
$sql = "SELECT * FROM tbl_egp WHERE TRIM(egp_detail)=TRIM('".$item->link."') AND cat_id=".$aCat[$i];
$result = $conn->query($sql);
$numrows = $conn->num_rows;
if(!$numrows) { //ถ้าไม่ซ้ำ (มี Feed ข่าวใหม่)
$sql = "INSERT INTO tbl_egp (egp_title, egp_detail, cat_id) VALUES ('".trim($item->title)."','".trim($item->link)."',".$aCat[$i].")";
$query = $conn->query($sql) ;
}
$i++;
} //for each ($item
} // else if ($doc
} //foreach ($aType
} // if (in time
/*
$sql = "SELECT a.*, b.cat_name FROM tbl_egp a, tbl_category b WHERE a.cat_id=b.cat_id ORDER BY id DESC";
$result =$conn->query($sql);
if($result->num_rows) { //ถ้ามี Feed ข่าวในฐานข้อมูล
echo "<ul>";
while($row=$result->fetch_array(MYSQLI_ASSOC)) {
echo "<li>(".$row["cat_name"].") ".$row["egp_title"]." -> <a href=\"".$row["egp_detail"]."\" targer=\"_blank\">คลิกอ่าน..</a></li>";
}
echo "</ul>";
} else {
echo "– ยังไม่มีข้อมูล — <br>โปรดค้นหาจากเว็บไซต์กรมบัญชีกลางโดยตรง -> <a href='http://www.gprocurement.go.th' target='_blank'>คลิก</a>";
}*/
?>
</body>
</html>
Tag : PHP, MySQL, JavaScript, JAVA, XAMPP
ประวัติการแก้ไข 2020-06-16 19:56:45
Date :
2020-06-16 19:40:22
By :
football02
View :
682
Reply :
1
Load balance : Server 00