|
|
|
การรวมฟิลด์ที่ซ้ำให้ไม่ต้องแสดงแล้วไปเพิ่มค่าในฟิลด์อื่น |
|
|
|
|
|
|
|
Code (PHP)
<form action="" method="post" id="form1" name="form1">
<select name="select_depart" id="select_depart" style="width:100px">
<option value="" selected>เลือกแผนก</option>
<?php
include ("connection.php");
$sql="select * from depart order by depart_name ASC";
$dbquery=mysql_db_query($db,$sql);
while($result=mysql_fetch_array($dbquery)){
if($depart_name == $result[depart_name]){
?>
<option value="<?=$result[depart_name];?>" selected="selected"><?=$result[depart_name];?></option>
<?
}else{
?>
<option value="<?=$result[depart_name];?>"><?=$result[depart_name];?></option>
<?
} }
?>
</select>
<input type="submit" name="button" id="button" value="Submit"/>
</form>
<?php
$select_depart = $_POST["select_depart"];
if(!empty($select_depart))
{
include ("connection.php");
$sql = " SELECT savecom.type,
savecom.asset_code,
savecom.employee_name,
savecom.depart_name,
savemon.asset_code,
savemon.type,
savemon.employee_name,
savemon.depart_name,
saveprint.type,
saveprint.asset_code,
saveprint.employee_name
FROM savecom LEFT JOIN savemon ON savecom.employee_name = savemon.employee_name
LEFT JOIN saveprint ON savecom.employee_name = saveprint.employee_name
WHERE (savecom.employee_name LIKE '%$select_depart%') or (savecom.depart_name LIKE '%$select_depart%') or (savemon.employee_name LIKE '%$select_depart%') or (savemon.depart_name LIKE '%$select_depart%') or (saveprint.employee_name LIKE '%$select_depart%')";
$sqlquery=mysql_db_query($db,$sql);
$row=mysql_num_rows($sqlquery);
if($row==0){
echo "ไม่พบข้อมูล";
}
else if($row!=0){
?>
<table id="box-table-a" align="center"width="600" border="1" cellspacing="0">
<tr>
<th width="30"> <div align="center">ลำดับที่</div></th>
<th width="60"> <div align="center">ชื่อพนักงาน</div></th>
<th width="60"> <div align="center">ชื่อแผนก</div></th>
<th width="120" colspan="3"> <div align="center">ประเภทคุรุภัณฑ์</div></th>
</tr>
<?
$sequence=1;
while($sequence<=$row)
{
while($result_sub=mysql_fetch_array($sqlquery))
{
?>
<tr>
<td><div align="center"><?=$sequence++;?></div></td>
<td><div align="center"><?=$result_sub[2];?></div></td>
<td><div align="center"><?=$result_sub[3];?></div></td>
<td width="40"><div align="center"><? if($row>=1){?><a href="main.php?page=showdata&asset=<?=$result_sub[0];?>&code=<?=$result_sub[1];?>">computer<? } ?></a></div></td>
<!--<td width="40"><div align="center"><? if(!empty($result_sub[0])){ ?><a href="main.php?page=showdata&asset=<?=$result_sub[0];?>&code=<?=$result_sub[1];?>">computer<? } ?></a></div></td> -->
<td width="40"><div align="center"><? if(!empty($result_sub[5])){ ?><a href="main.php?page=showdata&asset=<?=$result_sub[5];?>&code=<?=$result_sub[4];?>">monitor<? } ?></a></div></td>
<td width="40"><div align="center"><? if(!empty($result_sub[8])){ ?><a href="main.php?page=showdata&asset=<?=$result_sub[8];?>&code=<?=$result_sub[9];?>">printer<? } ?></a></div></td>
</tr>
<?
}
?>
</table>
<?
}}}
?>
รันแล้วจะได้
ผมอยากให้เมื่อเจอชื่อที่ซ้ำกันแล้วให้ไปเพิ่ม "computer" ในพิลด์คุรุภัณฑ์ โดยเรียงเป็น computer1 computer2 โดยที่ในฟิลด์ชื่อพนักงานไม่ต้องแสดงชื่อที่ซ้ำครับ อยากขอความช่วยเหลือจากทุกท่านครับว่าต้องทำอย่างไร
ตารางsavecomครับ
Tag : PHP, MySQL, JavaScript
|
ประวัติการแก้ไข 2012-02-13 14:50:48 2012-02-13 14:51:31 2012-02-13 14:54:16 2012-02-13 14:56:00 2012-02-13 14:57:59 2012-02-13 14:59:48
|
|
|
|
|
Date :
2012-02-13 14:49:40 |
By :
maythar |
View :
935 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูเรื่อง SELECT DISTINCT ครับ
https://www.thaicreate.com/tutorial/sql-distinct.html
หลักการคือ
SELECT DISTINCT employee_name FROM table WHERE เงื่อนไขอะไรก็แล้วแต่....
จะได้ ข้อมูล ชื่อพนักงานที่ไม่ซ้ำกัน
จากนั้น ก็ loop ตามจำนวน row ที่ได้จาก query คำสั่ง DISTINCT
แล้วใน loop มีการ SELECT * FROM table WHERE employee_name='ชื่อพนักงาน ที่ได้จากการ query ข้างบน'
ลองทำความเข้าใจดูครับ
|
|
|
|
|
Date :
2012-02-13 15:54:42 |
By :
Likito |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณสำหรับคำแนะนำครับ จะลองศึกษาตามที่บอกครับ
|
|
|
|
|
Date :
2012-02-13 16:01:43 |
By :
maythar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|