พี่ครับ ผมจะเขียนเงื่อนไขยังไงดี แนะนำหน่อยได้ไหมครับ ลองเขียนแล้ว เขียนต่อไม่ถูกจริงๆ
T_T ทำไมไม่มีใครตอบเลย ยากไปเหรอครับ
Date :
2012-09-27 13:46:41
By :
cappuczino
งงหงะครับ ขอดูฐานข้อมูลละอธิบายหน่อยจิ
Date :
2012-09-27 14:07:44
By :
popypreaw
แล้วมันแสดงข้อผิดพลาด หรือมันไม่ได้ตามความต้องการยังไงบ้างครับ....
Date :
2012-09-27 14:58:10
By :
Songkram
1.ผมขอลองเปลี่ยน FilesID แถวที่ 3,4,5 จากรูปใน table ของคุณ ให้เป็นเลข4นะครับ
2.แล้วก็เปลี่ยน Status_EditFiles แถวที่ 3,4,5 จากรูปใน table ของคุณ ให้เป็นเลข5นะครับ
เพื่อเอาไปทดลองเขียนกะเงื่อนไขดู
แล้วนี่คือcode ที่ผมลองครับCode (PHP)
$approve = "SELECT * FROM filesedit WHERE Status_EditFiles = '5' AND FilesID = '4'";
$Q_approve = mysql_query($approve);
$S_approve = mysql_num_rows($Q_approve);
if($S_approve == "1") // ถ้ามีไฟล์ที่ Status_EditFiles = 5 แค่ไฟล์เดียวในเงื่อนไข ให้แสดงคำว่า "ใช้งานได้"
{
echo 'obsolete';
}
elseif ($S_approve != '1')
{
$sql = "select MAX(Time) as T from filesedit where FilesID = '4'";
$query = mysql_query($sql);//ขั้นแรก หาเวลามากที่สุดของ ID ที่เราค้นหา ที่มี status = 5 ก่อน
$res = mysql_fetch_array($query);
$time = $res["T"];
//print $time;
$sql1 = "select * from filesedit where Time = '$time' and FilesID = '4'";
$query1 = mysql_query($sql1);//ต่อมา เอาเวลามากสุดที่ได้ มาค้นร่วมกับ ID จะได้ผลลัพธ์มา 1 แถว
$res1 = mysql_fetch_array($query1);//ซื้งเป็นแถวที่มีเวลามากที่สุด
print "EditID=".$res1["EditID"]." FilesID=".$res1["FilesID"]." เวลามากสุด=".$time." ใช้งานได้<br>" ;
$sql2 = "select * from filesedit where Time != '$time' and FilesID = '4'";
$query2 = mysql_query($sql2);//Time != '$time' คือค้นหาจากเวลาที่ไม่ใช่เวลามากที่สุด ก็จะได้ผลลัพธ์ที่เหลือมา
while($res2 = mysql_fetch_array($query2)){
print "EditID=".$res2["EditID"]." FilesID=".$res2["FilesID"]." เวลา=".$res2["Time"]." เลิกใช้งาน<br>" ;
}
}
else
{
echo ''; // ไม่แสดงอะไรเลย
}
ปล* ผมไม่เก่ง SQL เลยคิดคำสั่งไม่ออกนะ เลยใช้codeเปลืองไปหน่อย -*-
ประวัติการแก้ไข 2012-09-27 15:31:45 2012-09-27 15:36:22
Date :
2012-09-27 15:30:48
By :
popypreaw
EditID=3 FilesID=4 เวลามากสุด=16:56:04 ใช้งานได้
EditID=9 FilesID=4 เวลามากสุด=11:09:51 เลิกใช้งาน
EditID=8 FilesID=4 เวลามากสุด=13:30:25 เลิกใช้งาน
ผลการรันนะครับ
Date :
2012-09-27 15:36:53
By :
popypreaw
ไม่ได้อ่ะครับ ไฟล์ที่แสดงมาไม่ครบ เพราะมันมีเงื่อนไข แสดงแึค่ status = 5
ถ้าเขียนต่อโดนที่ไม่ต้อง SELECT ใหม่ได้ไหมครับ แบบเช็คเงื่อนไขเลย
if ($row["E_Status_EditFiles"] == '5')
ที่เหลือ ก้ตามของท่าน
เพราะโคดผมก่อนหน้านี้
Query มาก่อนแล้วหรือป่าว
โคดทั้งหมดเป็นแบบนี้ครับ (ยาวหน่อยน่ะครับ จัดไม่สวยด้วย )
Code (PHP)
<table width="95%" border="0" align="center" cellspacing="1" >
<tr>
<td>
<?
include('config.inc.php');
$strSQL = "SELECT * FROM files inner join member WHERE member.UserID = files.UserID_Receiver AND Type = 'W' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objQuery = mysql_query($strSQL);
?>
<table width="100%" align="center" cellpadding="0" cellspacing="3" class="table">
<tr>
<td colspan="3" style="white-space:normal"><strong><img src="images/formupload.png" align="absmiddle"/> Word</strong></td>
</tr>
<tr >
<td width="7%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>No.</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>File</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Name</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Day</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Time</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Sender</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Details</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Receiver</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Status</strong></div></td>
<td width="18%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>สถานะการใช้งาน</strong></div></td>
<td width="10%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Delete</strong></div></td>
<td width="10%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Show</strong></div></t
></tr>
<?
while($objResult = mysql_fetch_array($objQuery)) // Select เฉพาะไฟล์หลักเข้ามาก่อนครับไม่ต้อง join table ที่มีไฟล์รอง
{
$i++;
if($i%2==0)
{
$bg = "#FDFDF0";
}
else
{
$bg = "#E0FFFF";
}
?>
<tr bgcolor="<?=$bg;?>">
<td class="tbl7"><div align="center"><?=$objResult["FilesID"];?></div></td>
<td class="tbl7"><center>
<?php
$file = $objResult["Filesname"];
$extension = strrchr( $file , '.' );
switch( $extension )
{
case '.jpg':
echo "<img src='images/icon/JPEG-Image-icon.png' />";
break;
case '.JPG':
echo "<img src='images/icon/JPEG-Image-icon.png' />";
break;
case '.pdf':
echo "<img src='images/icon/pdf-icon.png' />";
break;
case '.png':
echo "<img src='images/icon/PNG-Image-icon.png' />";
break;
case '.gif':
echo "<img src='images/icon/GIF-Image-icon.png' />";
break;
case '.doc':
echo "<img src='images/icon/Office-Word-icon.png' />";
break;
case '.docx':
echo "<img src='images/icon/Office-Word-icon.png' />";
break;
case '.xls':
echo "<img src='images/icon/Office-Excel-icon.png' />";
break;
case '.zip':
echo "<img src='images/icon/rar-2.png' />";
break;
case '.rar':
echo "<img src='images/icon/rar-2.png' />";
break;
case '.txt':
echo "<img src='images/icon/TEXT-Image-icon.png' />";
break;
default :
echo 'นามสกุลของไฟล์ไม่อยู่ในรายการตรวจสอบ';
}
?>
</center></td>
<td class="tbl7"><center><?=$objResult["Name_Filesnew"];?></center></td>
<td class="tbl7"><center><?=$objResult["Date"];?></center></td>
<td class="tbl7"><center><?=$objResult["Time"];?></center></td>
<td class="tbl7"><center><a href="viewmember.php?UserID= <?=$objResult["UserID_Sender"];?>" onClick="js_popup('viewmember.php?UserID= <?=$objResult["UserID_Sender"];?>',783,600); return false;" title="Member"><?=$objResult["Name_Sender"];?></a></center></td>
<td class="tbl7"><center>
<?
if($_SESSION['Status'] == 'ADMIN')
{
echo "<a href=\"Details_admin.php?FilesID=$objResult[FilesID]\" onClick=\"js_popup('Details_admin.php?FilesID=$objResult[FilesID]',783,600); return false;\" title=\"\">Details</a>";
}
elseif ($_SESSION['Status'] == 'REVIEW')
{
echo "<a href=\"Details_Approve.php?FilesID=$objResult[FilesID]\" onClick=\"js_popup('Details_admin.php?FilesID=$objResult[FilesID]',783,600); return false;\" title=\"\">Details</a>";
}
else
{
echo "<a href=\"Details.php?FilesID=$objResult[FilesID]\" onClick=\"js_popup('Details.php?FilesID=$objResult[FilesID]',783,600); return false;\" title=\"\">Details</a>";
}
?>
</center></td>
<td class="tbl7"><center><a href="viewmember.php?UserID= <?=$objResult["UserID_Receiver"];?>" onClick="js_popup('viewmember.php?UserID= <?=$objResult["UserID_Receiver"];?>',783,600); return false;" title="Member"><?=$objResult["Name"];?></a></center></td>
<td class="tbl7"><center><?
$Status_Files = $objResult["Status_Files"];
switch($Status_Files)
{
case '1': echo "<b><span style=\"color: #1E90FF;\">ยังไม่ตรวจสอบ</span><br>"; break;
case '2': echo "<b><span style=\"color: #8B4C39;\">กำลังตรวจสอบ</span><br>"; break;
case '3': echo "<b><span style=\"color: #27408B;\">ผ่านการตรวจสอบ</span><br>"; break;
case '4': echo "<b><span style=\"color: #FF0000;\">ไม่ผ่านการตรวจสอบ</span><br>"; break;
case '5': echo "<b><span style=\"color: #008B45;\">อนุมัติ</span><br>"; break;
}
?></center></td>
<td class="tbl7"><center></center></td>
<td class="tbl7"><center></center></td>
<td class="tbl7" style="color:#F00"><div align="center"> <a href="#" class="show_hide">Show</a></div></td>
</tr>
<?
//----- เอาฟิว คีย์ ของ table หลัก มา join กับ คีย์ของ table รอง
$sql = "SELECT
filesedit.EditID as E_EditID,
filesedit.FilesID as E_FilesID,
filesedit.UserID_Edit as E_UserID_Edit,
filesedit.Name_Filesnew as E_Name_Filesnew,
filesedit.Date as E_Date,
filesedit.Time as E_Time,
filesedit.Filesname as E_Filesname,
filesedit.Details as E_Details,
filesedit.Name_Edit as E_Name_Edit,
filesedit.Status_EditFiles as E_Status_EditFiles
FROM filesedit
INNER JOIN files
WHERE filesedit.FilesID = '".$objResult["FilesID"]."' AND filesedit.FilesID = files.FilesID ";
$query = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($query);
if($num > 0) // ตรวจสอบว่ามีไฟล์หรือเปล่า
{
while($row = mysql_fetch_array($query)) // ถ้ามีไฟล์ คิวรีออกมา
{
?>
<tr>
<td > <div align="center"><div class="slidingDiv">Sub Files</div></div></td>
<td > <div align="center"><div class="slidingDiv">Version</div></div></td>
<td> <div align="center"><div class="slidingDiv"><?=$row["E_Name_Filesnew"];?></div></div></td>
<td ><div align="center"><div class="slidingDiv"><?=$row["E_Date"];?></div></div></td>
<td ><div align="center"><div class="slidingDiv"><?=$row["E_Time"];?></div></div></td>
<td ><div align="center"><div class="slidingDiv"><?=$row["E_Name_Edit"];?></div></div></td>
<td ><div align="center"><div class="slidingDiv"><?=$row["E_Details"];?></div></div></td>
<td ><div align="center"><div class="slidingDiv"><?=$objResult["Name"];?></div></div></td>
<td ><div align="center"><div class="slidingDiv"><?
$Status_EditFiles = $row["E_Status_EditFiles"];
switch($Status_EditFiles)
{
case '1': echo "<b><span style=\"color: #1E90FF;\">ยังไม่ตรวจสอบ</span><br>"; break;
case '2': echo "<b><span style=\"color: #8B4C39;\">กำลังตรวจสอบ</span><br>"; break;
case '3': echo "<b><span style=\"color: #27408B;\">ผ่านการตรวจสอบ</span><br>"; break;
case '4': echo "<b><span style=\"color: #FF0000;\">ไม่ผ่านการตรวจสอบ</span><br>"; break;
case '5': echo "<b><span style=\"color: #008B45;\">อนุมัติ</span><br>"; break;
}
?></div></div></td>
<td > <div align="center"><div class="slidingDiv">
<? Code ของ ท่าน popypreaw จะอยู่ตรงนี้ครับ ?>
</div></div></td>
<td ><div align="center"><div class="slidingDiv"><a href="JavaScript:if(confirm('Confirm Delete?')==true){window.location='Deletefiles.php?EditID=<?=$row["E_EditID"];?>';}">Delete</a></div></div></td>
<td > <div align="center"><div class="slidingDiv"></div></div></td>
</tr>
<? } // end while รอง
} // end if
}// end while หลัก
?>
</table>
<br>
<div class="table" align="center"> Total <?= $Num_Rows;?> Files <?=$Num_Pages;?> Page :</div>
<?
mysql_close($objConnect);
?>
</td>
</tr>
</table>
Date :
2012-09-27 16:14:00
By :
cappuczino
คือมี 2 Table ครับ แบบย่อๆ
Table หลัก
-FilesID
-Status
Table รอง
-EditID
-FilesID
-Status_Edit
Date :
2012-09-27 16:24:29
By :
cappuczino
T_T ยังแก้ไม่ได้เลยอ่ะครับ
Date :
2012-09-28 09:30:35
By :
cappuczino
ตอนนี้ ได้ประมาณนี้ครับ แต่มันไม่ยอมเข้าเงื่อนไข elseif เลยอ่ะครับ
ข้อมูลใน Table เป็นแบบนี้
แสดงแบบนี้
ในเพจแสดงไฟล์ครบแล้วครับ และ มี 1 ไฟล์ที่ Status เป็น 5 อีกไฟล์ เป็น 1 เหมือนเดิม เงื่อนไข if และ else ได้แล้ว แต่ elseif ไม่ทำงานครับ
แนะนำผมหน่อยครับบ
Code (PHP)
<?
$approve = "SELECT
filesedit.EditID as Approve_EditID,
filesedit.FilesID as Approve_FilesID,
filesedit.Status_EditFiles as Approve_Status_EditFiles,
filesedit.Date as Approve_Date,
filesedit.Time as Approve_Time
FROM filesedit
WHERE Status_EditFiles = '5' AND filesedit.FilesID = '".$objResult["FilesID"]."' ";
$Q_approve = mysql_query($approve);
$S_approve = mysql_num_rows($Q_approve);
if($S_approve == "1") // ถ้ามีไฟล์ที่ Status_EditFiles = 5 แค่ไฟล์เดียวในเงื่อนไข ให้แสดงคำว่า "ใช้งานได้"
{
echo 'ใช้งานได้';
}
elseif ($S_approve != '1')
{
$sql = "select MAX(Time) as T from filesedit filesedit.FilesID = '".$objResult["FilesID"]."'";
$query = mysql_query($sql);//ขั้นแรก หาเวลามากที่สุดของ ID ที่เราค้นหา ที่มี status = 5 ก่อน
$res = mysql_fetch_array($query);
$time = $res["T"];
//print $time;
$sql1 = "select * from filesedit where Time = '$time' and filesedit.FilesID = '".$objResult["FilesID"]."'";
$query1 = mysql_query($sql1);//ต่อมา เอาเวลามากสุดที่ได้ มาค้นร่วมกับ ID จะได้ผลลัพธ์มา 1 แถว
$res1 = mysql_fetch_array($query1);//ซื้งเป็นแถวที่มีเวลามากที่สุด
print "EditID=".$res1["Approve_EditID"]." FilesID=".$res1["Approve_FilesID"]." เวลามากสุด=".$time." ใช้งานได้<br>" ;
$sql2 = "select * from filesedit where Time != '$time' and filesedit.FilesID = '".$objResult["FilesID"]."'";
$query2 = mysql_query($sql2);//Time != '$time' คือค้นหาจากเวลาที่ไม่ใช่เวลามากที่สุด ก็จะได้ผลลัพธ์ที่เหลือมา
while($res2 = mysql_fetch_array($query2)){
print "EditID=".$res2["Approve_EditID"]." FilesID=".$res2["Approve_FilesID"]." เวลา=".$res2["Time"]." เลิกใช้งาน<br>" ;
}
}
else
{
echo ''; // ไม่แสดงอะไรเลย
}
?>
Date :
2012-09-28 11:12:40
By :
cappuczino
ที่ต้องการคือ แถวของ EditID = 9 ต้องแสดงด้วยใช่ไหมครับ
Date :
2012-09-28 11:18:41
By :
popypreaw
ตอนนี้ ใน table มี Status_EditFiles ที่เป็น 5 อยู่กี่แถวครับ
ละก็ลอง print $S_approve; มาดูส่าได้ค่าอะไรครับ
Date :
2012-09-28 12:41:27
By :
popypreaw
แล้วถ้า select แค่นี้หละ
Code (PHP)
SELECT EditID FROM filesedit WHERE Status_EditFiles = '5' AND FilesID = '".$objResult["FilesID"]."'
ผลเป็นไง
Date :
2012-09-28 12:58:52
By :
popypreaw
echo $S_approve ออกมาแล้ว = 1 เหมือนเดิมครับ
$S_approve = mysql_num_rows($Q_approve);
เงื่อนไข คึือมันนับ แถวที่ มี Status = 5 ว่ามีกี่แถว
ในนั้น มันมี 1 แถว ก้เลย แสดง 1
$S_approve = 1 ใช่ไหมครับ
Date :
2012-09-28 13:13:53
By :
cappuczino
ท่านใดมีวิธีอื่นบ้างครับบ
ช่วยผมหน่อย
ถ้า While มารอบนึ่งแล้ว ได้ค่ามาแล้ว
จะ Check ค่า มันอีกรอบ ต้องทำไงดี
T_T
Date :
2012-09-28 13:58:40
By :
cappuczino
จากที่เห็นแสดวงว่ามันวนคำสั่งนี้
Code (PHP)
$approve = "SELECT
filesedit.EditID as Approve_EditID,
filesedit.FilesID as Approve_FilesID,
filesedit.Status_EditFiles as Approve_Status_EditFiles,
filesedit.Date as Approve_Date,
filesedit.Time as Approve_Time
FROM filesedit
WHERE Status_EditFiles = '5' AND filesedit.FilesID = '".$objResult["FilesID"]."' ";
$Q_approve = mysql_query($approve);
$S_approve = mysql_num_rows($Q_approve);
2 ครั้งอะครับ ข้างบนมี loopอะไรอีกหรือเปล่าลองเช็คดูครับ
Date :
2012-09-28 14:07:30
By :
popypreaw
ตอนนี้ มี 2 loop ครับ
loop แรก แสดงไฟล์หลัก
Code (PHP)
include('config.inc.php');
$strSQL = "SELECT * FROM files inner join member WHERE member.UserID = files.UserID_Receiver AND Type = 'W' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$strSQL .=" order by FilesID desc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="100%" align="center" cellpadding="0" cellspacing="3" class="table">
<tr>
<td colspan="3" style="white-space:normal"><strong><img src="images/formupload.png" align="absmiddle"/> Word</strong></td>
</tr>
<tr >
<td width="7%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>No.</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>File</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Name</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Day</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Time</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Sender</strong></div></td>
<td width="5%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Details</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Receiver</strong></div></td>
<td width="15%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Status</strong></div></td>
<td width="18%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>สถานะการใช้งาน</strong></div></td>
<td width="10%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Delete</strong></div></td>
<td width="10%" class="tbl5" style="white-space: nowrap;"><div align="center"><strong>Show</strong></div></t
></tr>
<?
while($objResult = mysql_fetch_array($objQuery)) // Select เฉพาะไฟล์หลักเข้ามาก่อนครับไม่ต้อง join table ที่มีไฟล์รอง
-
-
-
-
loop 2 แสดงไฟล์ย่อย
Code (PHP)
<?
//----- เอาฟิว คีย์ ของ table หลัก มา join กับ คีย์ของ table รอง
$sql = "SELECT
filesedit.EditID as E_EditID,
filesedit.FilesID as E_FilesID,
filesedit.UserID_Edit as E_UserID_Edit,
filesedit.Name_Filesnew as E_Name_Filesnew,
filesedit.Date as E_Date,
filesedit.Time as E_Time,
filesedit.Filesname as E_Filesname,
filesedit.Details as E_Details,
filesedit.Name_Edit as E_Name_Edit,
filesedit.Status_EditFiles as E_Status_EditFiles
FROM filesedit
INNER JOIN files
WHERE filesedit.FilesID = '".$objResult["FilesID"]."' AND filesedit.FilesID = files.FilesID ";
$query = mysql_query($sql) or die (mysql_error());
$num = mysql_num_rows($query);
if($num > 0) // ตรวจสอบว่ามีไฟล์หรือเปล่า
{
while($row = mysql_fetch_array($query)) // ถ้ามีไฟล์ คิวรีออกมา
-
-
-
-
-
?>
Date :
2012-09-28 14:20:00
By :
cappuczino
จากCode (PHP)
$strSQL = "SELECT * FROM files inner join member WHERE member.UserID = files.UserID_Receiver AND Type = 'W' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$strSQL .=" order by FilesID desc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
ถ้า เพิ่ม
Code (PHP)
$numrows = mysql_num_rows($objQuery);
print $numrows;
จะได้ผลลัพธ์ เป็น 2 เปล่าครับ
Date :
2012-09-28 14:24:38
By :
popypreaw
นั่นไงครับมันเลยวนลูปคำสั่งCode (PHP)
$approve = "SELECT
filesedit.EditID as Approve_EditID,
filesedit.FilesID as Approve_FilesID,
filesedit.Status_EditFiles as Approve_Status_EditFiles,
filesedit.Date as Approve_Date,
filesedit.Time as Approve_Time
FROM filesedit
WHERE Status_EditFiles = '5' AND filesedit.FilesID = '".$objResult["FilesID"]."' ";
$Q_approve = mysql_query($approve);
$S_approve = mysql_num_rows($Q_approve);
if($S_approve == "1") // ถ้ามีไฟล์ที่ Status_EditFiles = 5 แค่ไฟล์เดียวในเงื่อนไข ให้แสดงคำว่า "ใช้งานได้"
{
echo 'ใช้งานได้';
}
elseif ($S_approve != '1')
{
$sql = "select MAX(Time) as T from filesedit filesedit.FilesID = '".$objResult["FilesID"]."'";
$query = mysql_query($sql);//ขั้นแรก หาเวลามากที่สุดของ ID ที่เราค้นหา ที่มี status = 5 ก่อน
$res = mysql_fetch_array($query);
$time = $res["T"];
//print $time;
$sql1 = "select * from filesedit where Time = '$time' and filesedit.FilesID = '".$objResult["FilesID"]."'";
$query1 = mysql_query($sql1);//ต่อมา เอาเวลามากสุดที่ได้ มาค้นร่วมกับ ID จะได้ผลลัพธ์มา 1 แถว
$res1 = mysql_fetch_array($query1);//ซื้งเป็นแถวที่มีเวลามากที่สุด
print "EditID=".$res1["Approve_EditID"]." FilesID=".$res1["Approve_FilesID"]." เวลามากสุด=".$time." ใช้งานได้<br>" ;
$sql2 = "select * from filesedit where Time != '$time' and filesedit.FilesID = '".$objResult["FilesID"]."'";
$query2 = mysql_query($sql2);//Time != '$time' คือค้นหาจากเวลาที่ไม่ใช่เวลามากที่สุด ก็จะได้ผลลัพธ์ที่เหลือมา
while($res2 = mysql_fetch_array($query2)){
print "EditID=".$res2["Approve_EditID"]." FilesID=".$res2["Approve_FilesID"]." เวลา=".$res2["Time"]." เลิกใช้งาน<br>" ;
}
}
else
{
echo ''; // ไม่แสดงอะไรเลย
}
2รอบไงครับ ถ้าในtable มีข้อมูลเพิ่มมาอีกแถวนึง มันก็จะวน3รอบครับ ก็จะแสดงคำว่า 'ใช้งานได้' 3ครั้งด้วย
ต้องปรับแล้วครับ ลองค่อยๆคิดดู
Date :
2012-09-28 14:50:03
By :
popypreaw
ทำไงดีครับ
เริ่มสับสน
คือ loop 2 ครั้งแรกยังไงก้ต้องใช้
เพราะ ลูปแรก เอา เทเบิลแรกออกมา
ลูป 2 เอาไฟล์ย่อยจากเทเบิล 2 ที่มีค่า FilesID ตรงกับ Table แรกออกมา
Date :
2012-09-28 14:57:18
By :
cappuczino
T_T
แก้ไม่ออกครับ
ใครก้ได้ช่วยผมที
Date :
2012-09-29 11:05:29
By :
cappuczino
พี่ครับบบ ช่วยหน่อย
ข้อมูลมี ออก มาถูกต้องแล้ว ให้ไฟล์ที่มีเวลา ล่าสุดใช้งานได้ ที่เหลือ ใช้งานไม่ได้
แต่ข้อมูลมัน มี 3 แถว คิวรี่แล้วออกมาแค่แถวเดียวเอง ผมผิดตรงไหนอ่ะครับ แนะนำหน่อยครับบ
Code (PHP)
<?
$approve = "SELECT
filesedit.Status_EditFiles as A_Status_EditFiles,
filesedit.Date as A_Date,
filesedit.Time as A_Time
FROM filesedit
WHERE filesedit.Status_EditFiles = '".$row["E_Status_EditFiles"]."' AND filesedit.Status_EditFiles = '5'
";
$Q_approve = mysql_query($approve);
$S_approve = mysql_num_rows($Q_approve);
$A_approve = mysql_fetch_array($Q_approve);
if($S_approve == '1')
{
echo 'ผ่าน';
}
elseif ($S_approve != '1')
{
$sql = "select MAX(Time) as T from filesedit where FilesID = '".$objResult["FilesID"]."'";
$query = mysql_query($sql);//ขั้นแรก หาเวลามากที่สุดของ ID ที่เราค้นหา ที่มี status = 5 ก่อน
$res = mysql_fetch_array($query);
$time = $res["T"];
//print $time;
$sql1 = "select * from filesedit where Time = '$time' and FilesID = '".$objResult["FilesID"]."'";
$query1 = mysql_query($sql1);//ต่อมา เอาเวลามากสุดที่ได้ มาค้นร่วมกับ ID จะได้ผลลัพธ์มา 1 แถว
$res1 = mysql_fetch_array($query1);//ซื้งเป็นแถวที่มีเวลามากที่สุด
print "ใช้งานได้" ;
$sql2 = "select * from filesedit where Time != '$time' and FilesID = '".$objResult["FilesID"]."'";
$query2 = mysql_query($sql2);//Time != '$time' คือค้นหาจากเวลาที่ไม่ใช่เวลามากที่สุด ก็จะได้ผลลัพธ์ที่เหลือมา
while($res2 = mysql_fetch_array($query2)){
print "เลิกใช้งาน" ;
}
}
else
{
echo 'เหรอ';
}
?>
Date :
2012-09-29 11:38:29
By :
cappuczino
Load balance : Server 04