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,037

HOME > PHP > PHP Forum > ช่วยดูให้หน่อยครับ ต้องการสร้าง output ให้เป็นใบเช็คชื่อ



 

ช่วยดูให้หน่อยครับ ต้องการสร้าง output ให้เป็นใบเช็คชื่อ

 



Topic : 099922



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



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




คือผมต้องการ query ข้อมูล การเช็คชื่อของเด็กอ่ะครับ ให้เหมือนใบรายชื่อที่เคยใช้มาตั้งแต่อดีต แต่พอ query ออกมาแล้ว วันกลับออกมาซ้ำกันอ่ะครับ สมมุติว่ามีเด็ก 4 คน query วันออกมาแล้ววันมันขึ้นซ้ำ 4 วัน แต่ในช่องของเด็กคนอื่น ๆ ก็จะขึ้น status ว่าเป็น 0 ซึ่งไม่มีข้อมูล แต่ถ้าเป็นช่องของชื่อของเด็กคนนั้น ๆ จะขึ้น status 1

ผลการ query

code ตัวอย่าง

<?php
session_start();
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
// $connect=mysql_connect("localhost","root","admin")
// or die ("Could not connect to MySQL");
// mysql_select_db ("school")
// or die ("Could not select database");
// mysql_query("SET NAMES UTF8");
include"t.php";
?>
<? $sql = "SELECT id_student,st_name FROM student where id_teacher='1'
ORDER BY id_student "; //select ข้อมูลสำหรับแสดงผลเป็นหัวตาราง
$rsItem = mysql_query($sql) or die("Select error : ".mysql_error()); //สร้าง result set
$item_id = array();
$item = array();
$i = 0;
while($value = mysql_fetch_assoc($rsItem)){/*วนลูปดึงข้อมูลเก็บเข้า array อาจจะใช้ mysql_fetch_array ก็ได้การใช้งานเหมือนกันแต่
mysql_fetch_array จะกว้างกว่าตรงที่สามารถระบะได้ทั้งตำแหน่งและชื่อของฟิลด์*/
$item_id[$i] = $value['id_student']; //เก็บ id สำหรับกำหนดเงื่อนไขในการวนลูปแนวกว้าง
$item[$i] = $value['st_name']; //เก็บตัวแปร item สำหรับแสดงผลหัว column
$i ++;
}
mysql_free_result($rsItem); //สั่งคืนค่าหน่วยความจำเพราะ $rsTopic ไม่มีการใช้งานอีกแล้ว

$sql = "select check_date,status,checkstudent.id_student,st_name
from checkstudent,student
where checkstudent.id_student=student.id_student
order by check_date asc";
$rsValue = mysql_query($sql) or die("Select error : ".mysql_error());// SELECT ข้อมูล id,name จากตาราง tb_value โดยมีการตรวจสอบกับตาราง tb_area ซึ่งเป็น lookup table
$num_rows = mysql_num_rows($rsValue);//นับจำนวนแถวว่ามีข้อมูลหรือไม่
?>
<?
if($num_rows>0){//ถ้ามีก็ให้แสดงผลตารางข้อมูล
?>
<table border="0" bgcolor="#000000">
<tr bgcolor="#FFFFFF">
<td align="center"><strong>วัน/เดือน/ปี</strong></td>
<?
for($i=0;$i<count($item_id);$i++){
?>
<td align="center"><strong><?=$item[$i]//แสดงผลหัวคอลัมน์?></strong></td>
<?
}
?>
</tr>
<?
while($ListValue = mysql_fetch_assoc($rsValue)){//วนลูปแสดงผลข้อมูลมิติที่ 1 ตามแนวตั้ง /แถว
?>
<tr bgcolor="#FFFFFF">
<td align="left">&nbsp;<?=$ListValue['check_date']//แสดงผลชื่อวันที่?></td>
<?
/*วนลูปแสดงผลข้อมูลมิติที่ 2 ตามแนวขวาง /คอลัมน์*/
for($i=0;$i<count($item_id);$i++){ //วนลูปให้เท่ากับจำนวน item
$sql = "SELECT status FROM checkstudent WHERE id_student={$ListValue['id_student']} AND status={$ListValue['status']}
AND id_student={$item_id[$i]}
";//วนลูปหาค่าในแต่ละเชลล์ของตารางตามค่าในคีย์หลักของแถว และ คอลัมน์
$rsColValue = mysql_query($sql) or die("Select error : ".mysql_error());
$ColValue = mysql_fetch_assoc($rsColValue); //แน่ใจว่าในแต่ละเชลล์มีค่าเดียว จึงไม่ต้อวนลูป ทำ mysql_fetch_assoc เพราะถึงแม้วนลูปค่าที่ได้ก็จะมีแค่ค่าเดียวเหมือนกัน
?>
<td align="center"><?=number_format($ColValue['status'])?></td>
<?
mysql_free_result($rsColValue); //คืนค่าเมื่อไม่ได้ใช้แล้ว
}//end for
}//end while
mysql_free_result($rsValue); //คืนค่าหน่วยความจำ
?>
</tr>
</table>
<?
}else{
echo "<script>alert('ไม่มีข้อมูล');</script>";
}
?>



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-09-02 16:16:06 By : kinzakub View : 1124 Reply : 2
 

 

No. 1



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ลองใช้อาร์เรย์ช่วยดูมั้ยครับ
รายงานยอดที่พนักงานทำได้ในแต่ละเดือนแบบง่ายๆ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-02 16:35:55 By : {Cyberman}
 


 

No. 2



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



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


ขอบคุณครับ เป็นประโยชน์มากเลยครับ
ขอถามอีกอย่างนะครับ ตอนนี้ทุกเดือน query ออกมามันเป็น 31 วัน จะแก้ยังไงให้เป็น 30 วันอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-09-03 10:32:15 By : kinzakub
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูให้หน่อยครับ ต้องการสร้าง output ให้เป็นใบเช็คชื่อ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่