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

HOME > PHP > PHP Forum > ขอคำแนะนำการเขียนโปรแกรมและออกแบบฐานข้อมูลค่ะ จะทำหน้ารายงาน ตามรูปค่ะ



 

ขอคำแนะนำการเขียนโปรแกรมและออกแบบฐานข้อมูลค่ะ จะทำหน้ารายงาน ตามรูปค่ะ

 



Topic : 028126



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



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




จะทำหน้ารายงาน ตามรูปค่ะ




กำหนดให้ สมาชิกที่ ชื่อ A,B,C เท่านั้นที่ใช้งานได้ ห้ามสมาชิกอื่นๆที่ไม่ใช้ A,B,C ใช้งาน


แต่ละคนก็จะมีช่องกรอกรายละเอียด ตามรูปค่ะ

การทำงานคือ ให้สมาชิก A,B,C ใส่ข้อมูลทุกวัน


การแสดงผลก็เป็นแบบฟอร์มตามรูปเลยค่ะ
ถ้ามีใครคนหนึ่งไม่ใส่ข้อมูลในวันนั้น ก็ให้แสดงผลเป็นช่องว่าง ไม่มีข้อมูล





ตามรูปค่ะ นาย B ไม่ได้ใส่ข้อมูลวันนี้เลยไม่มีข้อมูลขึ้น มีแต่ข้อมูลของนาย A และ C

ตรงนี้หล่ะค่ะที่ทำให้ งงๆมาก จึงอยากถามว่า

1.จะออกแบบฐานข้อมูลยังไงดี
2.จะ select ข้อมูลออกมายังไงดีค่ะ

รบกวนพี่ๆช่วยแนะแนวทางด้วยค่ะ
ขอบคุณค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-06-10 15:20:28 By : Avrill View : 1089 Reply : 13
 

 

No. 1



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



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

สมุตินะ
tb_report
-id
-name
-topic
-time

ตามที่เข้าใจนะก้อน่าจะ select ข้อมูลออกมาธรรมดานะข้อมูลก้อจะออกมาหมดอยู่แล้ว


ถ้ามีใครคนหนึ่งไม่ใส่ข้อมูลในวันนั้น ก็ให้แสดงผลเป็นช่องว่าง ไม่มีข้อมูล

ถ้าใครไม่ใส่มันก้อเป็นค่าว่างอยู่แล้วนิ่ รึว่าไงเราเข้าใจถูกป่าว -*--


ตามรูปค่ะ นาย B ไม่ได้ใส่ข้อมูลวันนี้เลยไม่มีข้อมูลขึ้น มีแต่ข้อมูลของนาย A และ C
ตรงนี้หล่ะค่ะที่ทำให้ งงๆมาก


ตรงที่งงเห็นบอกว่าถ้าไม่ใส่ข้อมูลก้อไม่ขึ้นมันก้อตามความต้องการแล้วนี่นา แล้วงงอะไรเหรอ

**อาจตอบไม่ตรงขอโทษทีนะจ๊า งงเหมือนกัน 55+






Date : 2009-06-10 18:54:08 By : ชะเอม
 


 

No. 2



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

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ใช้โครงสร้างเดียวกับคุณชะเอมได้เลยครับ (เพิ่ม column comment)
<?php
$r = mysql_query("select * from `tb_report` WHERE `time`='2009-10-10'");
$data = array();
while($row=mysql_fetch_assoc($r)){
$data[$row['name']] = $row;
}
?>
<table border="1" width="100%">
<?php foreach(array('A','B','C') as $name): ?>
<tr>
<td><?php echo $name;?></td>
<td><?php echo empty($data[$name])?'':$data[$name]['topic'];?></td>
<td><?php echo empty($data[$name])?'':$data[$name]['comment'];?></td>
</tr>
<?php endforeach; ?>
</table>
Date : 2009-06-10 19:10:31 By : num
 

 

No. 3

Guest


ขอบคุณ คุณ ชะเอม และ คุณ num มากๆค่ะ

เดี่ยวจะลงมือทำดู หากติดขัดคงได้รบกวนอีกค่ะ
Date : 2009-06-10 19:41:04 By : ตุ๊กติ๊ก
 


 

No. 4

Guest


การออกแบบฐานข้อมูล
ก็คงต้องมี 2 ตารางครับ
ตาราง User ประกอบไปด้วย ID_USER,USER,และอื่น ๆ ตามที่ต้องการ

ตาราง Jobs ประกอบไปด้วย ID_Jobs,ID_USER,Jobs_Desc,Date_Jobs

ส่วนการ Join ให้แสดงได้ดังรูปนั้นก็

Select a.USER,b.Jobs_DESC,b.Date_Jobs
from user a
left join jobs b
on a.id_user = b.id_user

ก็คงประมาณนี้ละครับผม
Date : 2009-06-11 09:04:29 By : taobsd
 


 

No. 5



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



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


ดึงข้อมูล ออกมาได้แล้วค่ะ แล้วจะแ่บ่งหน้ายังไงค่ะ

111


จะแบ่งหน้าแบบนี้

ถ้าวันไหนทั้งสามคน กรอกข้อมูล ก็แสดงข้อมูลของวันนั้นแบบในภาพ





แต่ถ้าวันนี้ Mr.Ann กรอกข้อมูลเพียงคนเดียว ก้จะมีข้อมูลออกมาคนเดียว
ส่วน Mr.JHON และ Mr.Sumran จะยังโชวน์ชื่อไว้ ตรงช่องรายละเอียด และ เวลา ให้เป็นช่องว่าง ตามรูปค่ะ


Code (PHP)
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" >
  <tr bgcolor="red">
     <td width="10%" align="center"><span class="style5">ชื่อ</span></td>
     <td width="60%" align="center"><span class="style5"><strong>รายละเอียด</strong></span></td>
     <td width="30%" align="center"><span class="style5"><strong>เวลา</strong></span></td>
     </tr>
  
		<?php
		$r = mysql_query("select * from tb_members a 
		inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='22' order by b.worklist_date desc");
		
		while($row=mysql_fetch_array($r)){
		
		?>                
     <tr >
     <td height="50" valign="middle" align="center">Mr.JHON</td>
     <td align="left" valign="top" ><?php echo nl2br($row["worklist_detail"]);?></td>
     <td align="center" valign="middle" ><?php echo  nl2br($row["worklist_time"]);?></td>
     </tr>

    <? }?>
     
    </tr>
  
		<?php
		$r = mysql_query("select * from tb_members a 
		inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='11' order by b.worklist_date desc");
		
		while($row=mysql_fetch_array($r)){
		
		?>                
     <tr>
     <td height="50" valign="middle" align="center">Mr.Sumran</td>
     <td align="left" valign="top" ><?php echo nl2br($row["worklist_detail"]);?></td>
     <td align="center" valign="middle" ><?php echo  nl2br($row["worklist_time"]);?></td>
     </tr>

    <? }?>
     </tr>
     <?php
		$r = mysql_query("select * from tb_members a 
		inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='20' order by b.worklist_date desc");
		
		while($row=mysql_fetch_array($r)){
		
		?>                
     <tr>
     <td height="50" valign="middle" align="center">Mr.Ann</td>
     <td align="left" valign="top" ><?php echo nl2br($row["worklist_detail"]);?></td>
     <td align="center" valign="middle" ><?php echo  nl2br($row["worklist_time"]);?></td>
     </tr>

     <? }?>

</table>

Date : 2009-06-12 17:06:36 By : Avrill
 


 

No. 6



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



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

ไม่รู้ว่าได้รึป่าวนะ ลองดูๆ

Code
<table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" >
<tr bgcolor="red">
<td width="10%" align="center"><span class="style5">ชื่อ</span></td>
<td width="60%" align="center"><span class="style5"><strong>รายละเอียด</strong></span></td>
<td width="30%" align="center"><span class="style5"><strong>เวลา</strong></span></td>
</tr>

<?php
$pagelen = 11;
$page = $_REQUEST['page'];
if (empty($page)) { $page=1; }
$r = mysql_query("select * from tb_members a
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='22' order by b.worklist_date desc LIMIT $goto , $pagelen");

while($row=mysql_fetch_array($r)){

?>
<tr >
<td height="50" valign="middle" align="center">Mr.JHON</td>
<td align="left" valign="top" ><?php echo nl2br($row["worklist_detail"]);?></td>
<td align="center" valign="middle" ><?php echo nl2br($row["worklist_time"]);?></td>
</tr>

<? }?>

</tr>

<?php
$r = mysql_query("select * from tb_members a
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='11' order by b.worklist_date desc");

while($row=mysql_fetch_array($r)){

?>
<tr>
<td height="50" valign="middle" align="center">Mr.Sumran</td>
<td align="left" valign="top" ><?php echo nl2br($row["worklist_detail"]);?></td>
<td align="center" valign="middle" ><?php echo nl2br($row["worklist_time"]);?></td>
</tr>

<? }?>
</tr>
<?php
$r = mysql_query("select * from tb_members a
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='20' order by b.worklist_date desc");

while($row=mysql_fetch_array($r)){

?>
<tr>
<td height="50" valign="middle" align="center">Mr.Ann</td>
<td align="left" valign="top" ><?php echo nl2br($row["worklist_detail"]);?></td>
<td align="center" valign="middle" ><?php echo nl2br($row["worklist_time"]);?></td>
</tr>

<? }?>

</table>
หน้าที่>><?
}
$i++;
For ($i=1 ; $i<=$totalpage ; $i++) {
if ($i == $page ) {
echo " <font face='mS Sans Serif' size='1'>[$i] </font>\n";
} else {
echo " <font face='mS Sans Serif' size='1'><a href=$PHP_SELF?page=$i>$i</a></font>\n";
}
}
?>

Date : 2009-06-12 19:32:04 By : ชะเอมเอย
 


 

No. 7

Guest


ไม่บอก
Date : 2009-06-12 19:33:41 By : 555
 


 

No. 8



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



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


มันขึ้น

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource


บรรทัดนี้ค่ะ

Quote:
$r = mysql_query("select * from tb_members a
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='22' order by b.worklist_date desc LIMIT $goto, $pagelen");

Date : 2009-06-13 11:50:48 By : Avrill
 


 

No. 9



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



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

หว๋า ลืมเข้ามาดู

ตรงโค้ดรู้สึกว่าจะ มี $r 2ที่ใช่ป่าว

ตรงที่แรกใส่ตัวแปรแบ่งหน้าแล้วแต่ตัวที่สองยังไม่ได้ใส่ งั้นลองเอาตัวที่แบ่งหน้าตัวแรกก๊อบมาใส่ตัวที่สองด้วยลองดูนะ

ตัวแรก
Code (PHP)
<?php
$pagelen = 11;
$page = $_REQUEST['page'];
if (empty($page)) { $page=1; }
$r = mysql_query("select * from tb_members a 
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='22' order by b.worklist_date desc LIMIT $goto , $pagelen");

while($row=mysql_fetch_array($r)){

?> 





ตัวที่สอง
Code (PHP)
<?php
$r = mysql_query("select * from tb_members a 
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='11' order by b.worklist_date desc");

while($row=mysql_fetch_array($r)){

?> 



ตัวที่สองยังไม่ได้ใส่ตัวแปรยังไงก๊อบจากตัวแรกได้เลยนะ
Date : 2009-06-13 16:07:36 By : ชะเอม
 


 

No. 10



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



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


ทำตามที่บอกแล้วมันยังเออเร่อค่ะ
Date : 2009-06-15 08:51:45 By : Avrill
 


 

No. 11



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



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


งงตรง LIMIT $goto ค่ะ

$goto ค่่ามันจะมาจากไหนค่ะ
Date : 2009-06-15 08:56:21 By : Avrill
 


 

No. 12



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



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


แหง่ว
Date : 2009-06-15 15:34:27 By : Avrill
 


 

No. 13



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



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

ก๊ากกกกลืมไปๆโทดทีน๊า


Code (PHP)
<?php
$pagelen = 11;
$page = $_REQUEST['page'];
if (empty($page)) { $page=1; }

$r = mysql_query("select * from tb_members a 
inner join tb_work_list b ON (a.member_id=b.member_id) where a.member_id='22' order by b.worklist_date desc LIMIT $goto , $pagelen");

while($row=mysql_fetch_array($r)){

$totalpage = ceil($num_rows / $pagelen); 
$goto = ($page-1) * $pagelen; 

?> 

Date : 2009-06-15 18:32:02 By : ชะเอม
 

   

ค้นหาข้อมูล


   
 

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