Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ต้องการให้มัน default กราฟ แสดงเป็นปีปัจจุบันโดยไม่ต้องทำการเลือกข้อมูลจาก list menu ก่อน php



 

ต้องการให้มัน default กราฟ แสดงเป็นปีปัจจุบันโดยไม่ต้องทำการเลือกข้อมูลจาก list menu ก่อน php

 



Topic : 133076



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์




คือพอเข้ามาหน้าเว็บของเรามันขึ้น Notice: Undefined index: fa_date in C:\xampp\htdocs\may\admin\chart.php on line 199 และมันไม่แสดงข้อมูลกราฟเป็นปีปัจจุบันให้ เป็นหน้าขาวๆ โล่งๆ ต้องทำการเลือกปีจาก list menu ก่อน แล้วข้อมูลกราฟถึงจะขึ้นให้ หนูต้องการให้มันแสดงข้อมูลกราฟเป็นปีปัจจุบันก่อนคะ ไม่ให้มันหน้าเว็บมันโล่งๆอะคะ ต้องเขียนอะไรเพิ่มคะ

หน้าที่มันแสดงโล่งๆคะ ตรงที่มันขึ้นNotice: Undefined index: fa_date in C:\xampp\htdocs\may\admin\chart.php on line 199 จริงๆแล้วมันคือบรรทัดที่10 คะ
ex


โค้ดตามด้านล่างคะ

Code (PHP)
<?php
$con= mysqli_connect("localhost","root","1234","db_work") or die("Error: " . mysqli_error($con));

mysqli_query($con, "SET NAMES 'utf8' ");





$ls_fadate=$_POST['fa_date'];
$query = "
SELECT count(fa_faculty1) as totol, DATE_FORMAT(fa_date, '%Y') AS fa_date, fa_faculty2 as faculty
FROM tb_faculty 
WHERE fa_date 
AND year(fa_date) = '$ls_fadate'
GROUP BY fa_faculty1 
";

$result = mysqli_query($con, $query);
$resultchart = mysqli_query($con, $query);  



 //for chart
$faculty = array();
$totol = array();


while($rs = mysqli_fetch_array($resultchart)){ 
  $faculty[] = "\"".$rs['faculty']."\""; 
  $totol[] = "\"".$rs['totol']."\""; 

}
$faculty = implode(",", $faculty);
$totol = implode(",", $totol);

 
?>

<form action="chart.php" method="post" name="form1">
<h5 align="center">รายงานสรุปการจัดโครงการอบรมในรูปแบบกราฟ  </h5>
<p align="center">เลือกปีที่ต้องการค้นหา : <select class="form-control-sm" name="fa_date" id="fa_date" size="1">
  <?php
do {  
?>
  <option value="<?php echo $row_show_faculty['fa_date']?>"><?php echo $row_show_faculty['fa_date']?></option>
  <?php
} while ($row_show_faculty = mysql_fetch_assoc($show_faculty));
  $rows = mysql_num_rows($show_faculty);
  if($rows > 0) {
      mysql_data_seek($show_faculty, 0);
	  $row_show_faculty = mysql_fetch_assoc($show_faculty);
  }
?>
 
</select>
<button type="submit" class="btn btn-primary btn-sm">ค้นหา</button>
</p>
<table align="center" class="table table-bordered col-md-3">
  <thead align="center" class="table-primary">
  <tr>
    <th>คณะ</th>
    <th>จำนวนโครงการ</th>

  </tr>
  </thead>
  
  <?php while($row = mysqli_fetch_array($result)) { ?>
    <tr>
      <td><?php echo $row['faculty'];?></td>
      <td align="center"><?php echo $row['totol'];?></td> 

    </tr>
    <?php } ?>

</table>
</form>
<?php mysqli_close($con);?>

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.6.0/Chart.bundle.js"></script>
<hr>
<p align="center">



<canvas id="myChart" height="300" class="col-md-10"></canvas>
<script>
var ctx = document.getElementById("myChart").getContext('2d');
var myChart = new Chart(ctx, {
    type: 'bar',
    data: {
        labels: [<?php echo $faculty;?>
    
        ],
        datasets: [{
            label: 'จำนวนการจัดโครงการอบรม แยกตามคณะ ปี <?php echo $_POST["fa_date"];?> ',
            data: [<?php echo $totol;?> 
            ],
            backgroundColor: [
                'rgba(255, 99, 132, 0.8)',
                'rgba(54, 162, 235, 0.8)',
                'rgba(255, 206, 86, 0.8)',
                'rgba(75, 192, 192, 0.8)',
                'rgba(153, 102, 255, 0.8)',
                'rgba(255, 159, 64, 0.8)',
				'rgba(201, 203, 207, 0.8)'
				
            ],
            borderColor: [
                'rgba(255,99,132, 2)',
                'rgba(54, 162, 235, 2)',
                'rgba(255, 206, 86, 2)',
                'rgba(75, 192, 192, 2)',
                'rgba(153, 102, 255, 2)',
                'rgba(255, 180, 64, 2)',
				'rgba(201, 203, 207, 2)'
            ],
            borderWidth: 2
        }]
    },
    options: {
        scales: {
            yAxes: [{
                ticks: {
                    beginAtZero:true
                }
            }]
        }
    }
});
</script>    


อันนี้ภาพที่เลือกปีแล้วจะแสดงข้อมูลเป็นกราฟออกมาคะ
ex2



Tag : PHP, MySQL, XAMPP, Windows









ประวัติการแก้ไข
2019-02-07 10:04:47
2019-02-07 10:55:23
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-02-07 10:01:36 By : memyzelf00 View : 872 Reply : 8
 

 

No. 1



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
<?php
$ls_fadate=$_POST['fa_date'];
if(empty($ls_fadate)){
    //ถ้าค่าว่างเป็นจริงให้ทำ
    //ให้ตั้งแปร $ls_fadate = (เอาปีปัจจุบันมาใส่)
}else{
    //ถ้าเป็นเท็จให้ทำ
    //ก็ให้มันทำงานต่อ
}
?>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 11:07:49 By : nobetaking
 


 

No. 2



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : nobetaking เมื่อวันที่ 2019-02-07 11:07:49
รายละเอียดของการตอบ ::
ขอบคุณมากคะ ช่วยเขียนให้ดูได้ไหมคะ หนูไม่เก่งโค้ดเลยอ่าคะ ลองเขียนแล้วก็ยังไม่ได้

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 12:34:52 By : memyzelf00
 

 

No. 3



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
$ls_fadate=$_POST['fa_date'];
if(empty($ls_fadate)){
      //กรณีที่ 1 คือ เพิ่งเปิดมาหน้านี้แล้วตัวแปร $ls_fadate ยังไม่มีค่า ก็คือยังไม่มีการกดค้นหา
      //ต่อมาเราจึง กำหนดให้ตัวแปรอีกตัวมีค่าขึ้นมาเนื้องจากตัวแปร $ls_fadate ยังไม่มีค่า
      //เราสร้างตัวแปรอีกตัว คือ $ls_fadate_true ให้มันเท่ากับ ปีล่าสุด
      $ls_fadate_true = date("Y");
      //ตรงนี้ถ้ามีในฐานข้อมูลเอาฐานข้อมูลมาแสดงก็ได้ครับ
      //ผมทดสอบโดยการเอาปีล่าสุด
}
else{
     //กรณีที่ 2 คือ ตัวแปร $ls_fadate มีค่าแล้ว คือเรากดปุ่มค้นหานั้นแหละก็ให้มันรับค่าประมาณนี้
     //สร้างตัวแปรตัวเดียวกันกับด้านบน แต่การรับค่าของมันให้ไปรับค่าที่ถูกส่งเขามาแท่น
     $ls_fadate_true = $ls_fadate;
}

#ต่อมาการเรียกใช้งานก็เปลี่ยน
$query = "
SELECT count(fa_faculty1) as totol, DATE_FORMAT(fa_date, '%Y') AS fa_date, fa_faculty2 as faculty
FROM tb_faculty 
WHERE fa_date 
AND year(fa_date) = '$ls_fadate_true'
GROUP BY fa_faculty1 
";



copy แล้วเอาไปว่างแทน row 10 ถึง row 17


ประวัติการแก้ไข
2019-02-07 13:40:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 13:40:13 By : nobetaking
 


 

No. 4



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : nobetaking เมื่อวันที่ 2019-02-07 13:40:13
รายละเอียดของการตอบ ::
ข้อมูลในตารางมันโชว์ปีปัจจุบันมาแล้วนะคะ แต่กราฟไม่ขึ้นอ่า มันเพราะอะไรอ่าคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 14:28:30 By : memyzelf00
 


 

No. 5



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

เอาตัวนี้ไปไว้ล่างสุดของหน้า code ดูครับ

Code (PHP)
<?php mysqli_close($con);?>


แล้วลอง run ดูใหม่ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 15:04:51 By : nobetaking
 


 

No. 6



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 5 เขียนโดย : nobetaking เมื่อวันที่ 2019-02-07 15:04:51
รายละเอียดของการตอบ ::
ก็ไม่ได้อยู่ดีอ่ะคะ แต่ขอบคุณมากๆเลยนะคะที่ช่วยหนู ติดมาหลายวันเลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 15:22:29 By : memyzelf00
 


 

No. 7



โพสกระทู้ ( 421 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ลอง echo ตัวแปร 2 ตัวนี้ดูครับ ต้อนที่ยังไม่ได้กดปุ่มค้นหา
Code (PHP)
$faculty;
$totol;


ถ้ามันมีค่าออกมาแสดง กราฟก็จะขึ้นครับ
แต่ถ้าไม่มีก็ต้องหาวิธี query มันออกมาใหม่ครับ
เพราะกราฟที่ใช้ผมว่า เอามาจากนี้แน่นอน

https://mdbootstrap.com/docs/jquery/javascript/charts/


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 16:21:49 By : nobetaking
 


 

No. 8



โพสกระทู้ ( 28 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 7 เขียนโดย : nobetaking เมื่อวันที่ 2019-02-07 16:21:49
รายละเอียดของการตอบ ::
ไม่รู้ว่า echo ถูกบรรทัดรึป่าวนะคะ หนู echo บรรทัดตามรูปอะคะ ถูกไหมหว่า
ex3


ประวัติการแก้ไข
2019-02-08 03:52:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-02-07 17:07:50 By : memyzelf00
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ต้องการให้มัน default กราฟ แสดงเป็นปีปัจจุบันโดยไม่ต้องทำการเลือกข้อมูลจาก list menu ก่อน php
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่