วันพฤหัสบดีที่ 1 ธันวาคม พ.ศ. 2559

การเชื่อมตาราง Left Join 1 to 2 Table


การเชื่อมตาราง 1 ไป 2 ตาราง โดยหาผลรวมของตารางย่อย

1. Table Person








2. Table Pesron_train





3. Table Person_work


Code

SELECT 
  u.ids,
  u.names_en,
  (SELECT COUNT(b.ids) FROM person_train b WHERE b.ids = u.ids) as ctrain,
  (SELECT COUNT(m.ids) FROM person_work m WHERE m.ids = u.ids) as cwork  
FROM
  person as u
ORDER BY u.ids


ผลลัพธ์


วันพฤหัสบดีที่ 17 มีนาคม พ.ศ. 2559

ปรับเปรียนการแสดงผลของ MYSQL Transpose จากแนวตั้ง เป็นแนวนอน


ตารางเดิม

rdate ปี-เดือน   |  infl  |
--------------------------------------
2010-1             |    20
2010-2             |   40
2010-3             |   50
----------------------------------------


MYSQL CODE

SELECT 
  year(r_date) + 543  AS  `year`,
  SUM(CASE WHEN month(r_date) = '01' THEN format(p.infl, 2) ELSE 0 END) AS jan,
  SUM(CASE WHEN month(r_date) = '02' THEN format(p.infl, 2) ELSE 0 END) AS feb,
  SUM(CASE WHEN month(r_date) = '03' THEN format(p.infl, 2) ELSE 0 END) AS mar,
  SUM(CASE WHEN month(r_date) = '04' THEN format(p.infl, 2) ELSE 0 END) AS apr,
  SUM(CASE WHEN month(r_date) = '05' THEN format(p.infl, 2) ELSE 0 END) AS may,
  SUM(CASE WHEN month(r_date) = '06' THEN format(p.infl, 2) ELSE 0 END) AS jun,
  SUM(CASE WHEN month(r_date) = '07' THEN format(p.infl, 2) ELSE 0 END) AS jul,
  SUM(CASE WHEN month(r_date) = '08' THEN format(p.infl, 2) ELSE 0 END) AS aug,
  SUM(CASE WHEN month(r_date) = '09' THEN format(p.infl, 2) ELSE 0 END) AS sep,
  SUM(CASE WHEN month(r_date) = '10' THEN format(p.infl, 2) ELSE 0 END) AS oct,
  SUM(CASE WHEN month(r_date) = '11' THEN format(p.infl, 2) ELSE 0 END) AS nov,
  SUM(CASE WHEN month(r_date) = '12' THEN format(p.infl, 2) ELSE 0 END) AS dec,
  SUM(CASE WHEN year(r_date) = year(r_date) THEN format(p.infl, 2) ELSE 0 END) AS total
FROM
  plantreal24
WHERE
  YEAR(r_date) BETWEEN '1974' AND year(CURDATE()) ** ถึงปีปัจจุบันนี้
GROUP BY
  year(r_date) 
order by YEAR(r_date)


ผลลัพธ์

Year  |  gjan  | gfeb | gmar
--------------------------------------
2010  |    20  |   40  |    50
----------------------------------------


วันเสาร์ที่ 13 มิถุนายน พ.ศ. 2558

ต่อมือถือ Android แล้วหาไม่เจอ MTP USB device not install

ปัญหาที่เจอและเครื่องฟ้องขึ้นมาก็คือ MTP USB device not install หรือมีปัญหา หรือว่ากาผิด และผลก็คือ เครื่องคอมมองไม่เห็นโทรศัพท์ของเราเลยครับ

หาทางแก้อยู่นานมาก ก็ไม่เจอทางออกสักที จนในที่สุด วันนี้ก็ได้เจอกับทางออกครับ
ซึ่งเป็นวิธีการแก้ปัญหาด้วยการเข้าไปแก้ไขการตั้งค่าใน Registry โดยทำตามขั้นตอน ดังนี้ครับ

1.  ขั้นตอนแรกเริ่มต้นด้วยการ Run the registry editor (ด้วยการพิมพ์ “regedit” ใน command-line หรือว่าช่อง Run ครับ)
2.  ลดความเสี่ยงกรณีมีปัญหาด้วยการ Backup ค่า registry ปัจจุบันด้วยการไปที่  (File -> Export) แล้ว Save เก็บไว้ครับ
3.  ให้เข้าไปในโฟลเดอร์ตามลำดับดังนี้ : HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / Class
4.  ทางด้านซ้ายให้มองหา  {EEC5AD98-8080-425F-922A-DABF3DE3F69A} และคลิ๊กเข้าไป
5.  ในช่องด้านขวาให้มองหาค่าที่ขึ้นต้นด้วย “Upper…”  แล้วจัดการลบมันซะ
6.  หลังจากนั้นให้ถอดมือถือไอโฟน หรือว่า โซนี เอ็กซ์พีเรียออก
7.  รีสตาร์ท เครื่อง 1 ครั้ง
8.  จากนั้น เมื่อเปิดเครื่องเสร็จแล้ว รอให้บูทเสร็จและก็ลองเสียบดู คราวนี้โผล่หมดเลยครับ ในช่อง Portable device ทั้งของ iPhone และของ Sony Xperia ครับ
9.  เริ่มก็อปวางและก็ลงเพลงสำหรับ Xperia ได้เลยครับ

วันจันทร์ที่ 18 พฤษภาคม พ.ศ. 2558

การหาผลต่างระหว่างแถว โดยการลบกัน Table Row Diff

การหาผลต่างระหว่างตาราง



 SELECT mt1.ids,
        mt1.dates,
        mt1.times,
        mt1.waterflow,
        IFNULL(mt1.waterflow - mt2.waterflow, 0) as Diffs
 FROM nsd mt1
      LEFT JOIN nsd mt2 ON mt2.ids =
      (SELECT MAX(ids) FROM nsd mt3 WHERE mt3.ids < mt1.ids AND
       mt3.dates BETWEEN '20150519' AND '20150519')
 WHERE mt1.dates BETWEEN '20150519' AND '20150519'
 ORDER BY mt1.ids



วันพฤหัสบดีที่ 8 พฤษภาคม พ.ศ. 2557

Jquery บวก ลบ ค่า Input text 2 ช่องอัตโนมัติ

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title> Plus Value</title>
<script type='text/javascript' src='//code.jquery.com/jquery-1.11.0.js'></script>
<link rel="stylesheet" type="text/css" href="/css/normalize.css">
<link rel="stylesheet" type="text/css" href="/css/result-light.css">
<style type='text/css'>
</style>
<script type='text/javascript'>
$(function() {
    var output_element = $('#output_ele');
    var output_element1 = $('#output_ele1');

    $('#the_input_id').keyup(function() {  
        updateTotal();
    });
    
    $('#the_input_id1').keyup(function() {  
        updateTotal();
    });
    
    var updateTotal = function () {
      var input1 = parseInt($('#the_input_id').val());
      var input2 = parseInt($('#the_input_id1').val());
       var totals = parseFloat(input1 + input2) || 0;
       //parseFloat($('#totals').val()) || 0; 
      $('#total').text(totals);
    };

  // output_total.text(total);

 });
</script>
</head>
<body>
<form method="post">
<input type="text" id="the_input_id">
<input type="text" id="the_input_id1">
</form>
<div id="total">

</div>
</body>


</html>


ตัวอย่าง

วันอังคารที่ 6 พฤษภาคม พ.ศ. 2557

รวม php for Dreamweaver code ใช้งาน

1. กำหนด เพิ่ม - ลด วัน

$mydate = @$_GET['dates'];
if ($mydate == ""){
$mydates =  $row_rs_check_last['dates'];
$mydates1 =  date("Y-m-d", strtotime("-1 day", strtotime($mydates))); //ลดวัน 1 วัน

} else {
$mydates =  $mydate;
$mydates1 =  date("Y-m-d", strtotime("1 day", strtotime($mydates))); // เพิ่มวัน 1 วัน

}

2.  Dreamweaver ส่งค่าจาก Insert - Update แล้ว Go to  เมื่อ Post Form แล้วค่าตัวแปรจะค้างไว้
ถ้าไม่ต้องการใช้งานให้ ต้องปิดส่วนที่โปรแกรมทำไว้ ****



if (@$_POST['dates1'] =="") {
$chkdate = "";
} else {
$chkdate = @$_POST['dates1'];
}

  $updateGoTo = "myindex.php?dates=" .$chkdate. "&chk=2"; // ส่งค่าไปพร้อมกัน
  /* *** ส่วนนี้เป็นการปิดค่าที่ โปรแกรม Dreamweaver จะแสดงด้วยจาก Form
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  } */
  header(sprintf("Location: %s", $updateGoTo));
}

3. กำหนดการแสดงผลเอง แทน Dreamweaver
 3.1 Dream ทำให้
 <?php do {   // เริ่ม Loop แสดงผลของ Dream
// ทำสีบรรทัด
     if ($row_rs_report['times'] == 1 || $row_rs_report['times'] == 8 || $row_rs_report['times'] == 16 || $row_rs_report['times'] == 24) {
 $cl = "#FF9999";
 } else {
 $cl = "#FFFFFF";
 }
 // จบทำสีบรรทัด
 ?>
    <tr bgcolor="<?php echo $cl; ?>">
    <td><a href="myindex.php?ids=<?php echo $row_rs_report['ids']; ?>&amp;edit=1&amp;times=<?php echo $row_rs_report['times']; ?>&amp;dates=<?php echo $row_rs_report['dates']; ?>"><?php echo $row_rs_report['times']; ?>:00</a></td>
    <td><?php echo $row_rs_report['read_180']; ?></td>
    <td><?php echo $row_rs_report['egat_waterflow']; ?></td>
    <td><?php echo $row_rs_report['power_hour']; ?></td>
    <td><?php echo $row_rs_report['gen_sync']; ?></td>
    <td><?php echo $row_rs_report['gen_open']; ?></td>
    <td><?php echo $row_rs_report['time_sync']; ?></td>
    <td><?php echo $row_rs_report['name']; ?></td>
  </tr>
    <?php } while ($row_rs_report = mysql_fetch_assoc($rs_report));
    // สิ้นสุด Loop แสดงผลของ Dream  ?>

3.2 กำหนดเอง 
<?php

  @$ender = round($totalRows_rs_chon -1);
    do {   // เริ่ม Loop แสดงผลเอง
         //** แทน Array จากที่ที่ต้องการ
$dates [] =$row_rs_chon['dates'];
$times[] = $row_rs_chon['times'];
$waterflow[] = $row_rs_chon['egat_waterflow'];
$waterdiff[] =  $row_rs_chon['diff'];

$st = round(@$waterflow[0]);    // กำหนดเลือกเอาบางค่าที่ต้องการ
$et = round(@$waterflow[@$ender]);
 } while ($row_rs_chon = mysql_fetch_assoc($rs_chon));
    // สิ้นสุด Loop แสดงผลขเอง ?>


          นำไปแสดงผลเอง

<?php for ($i=1;$i < $totalRows_rs_chon;$i++) { ?> // กำหนดเริ่มที่ 0 ถ้าต้องการเริ่มที่ Row อื่นกำหนดที่ $i
  <tr bgcolor="#99ff99">
    <td align="center"><?php echo $dates[$i]; ?>&nbsp;</td>
    <td align="center"><?php echo digi($times[$i]); ?> </td>
    <td align="center"><?php echo digi($waterflow[$i]); ?></td>
    <td align="right"><?php echo digi($waterdiff[$i]); ?></td>
  </tr>

  <?php } ?>


CSS กำหนด Div ให้เป็นแบบ สี่เหลี่ยมมุมมน border-radius

<style>
.mydiv
{
text-align:center;
color:#F00000;
border:2px solid #00F000;
border-radius:25px;
width:50%;
margin:auto;
}
</style>

//การใช้งาน
<div class="mydiv">
    <h1> ยินดีต้อนรับเข้าสู่โรงไฟฟ้าเขื่อนนเรศวร </h1><br />
<br />
<h2> ข้อมูลน้ำระบายผ่านเครื่องกำเนิดไฟฟ้า <?php
    $dt1=strtotime($row_rs_report['dates']); echo thai_date($dt1); ?>
</h2>
    </div>


// sample ผลลัพธ์