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 > พี่ครับ ผมจะเขียนเงื่อนไขยังไงดี แนะนำหน่อยได้ไหมครับ ลองเขียนแล้ว เขียนต่อไม่ถูกจริงๆ



 

พี่ครับ ผมจะเขียนเงื่อนไขยังไงดี แนะนำหน่อยได้ไหมครับ ลองเขียนแล้ว เขียนต่อไม่ถูกจริงๆ

 



Topic : 084621



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



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




แนะนำหน่อยน่ะครับ จะเขียนยังไงดี

Code (PHP)
<? 
	
	$approve = "SELECT Status_EditFiles
				FROM filesedit
				WHERER Status_EditFiles = '5' AND filesedit.FilesID  = '".$objResult["FilesID"]."' AND filesedit.FilesID = files.FilesID";
	$Q_approve = mysql_query($approve) or die (mysql_error());
	$S_approve = mysql_num_rows($Q_approve);
	
	if($S_approve == 1) // ถ้ามีไฟล์ที่ Status_EditFiles = 5 แค่ไฟล์เดียวในเงื่อนไข ให้แสดงคำว่า "ใช้งานได้"
	{
		echo 'ใช้งานได้';
	}
	elseif (($S_approve > 1 && $time = 'ล่าสุด')) //แต่ถ้ามี ไฟล์ที่มี Status_EditFiles = 5 ในเงื่อนไข มากกว่า 1 ไฟล์์ ให้ ไฟล์ล่าสุด(ตรวจจากเวลา) ไฟล์ที่มี Status_EditFiles = 5 
	                        // ให้แสดงคำว่า "ใช้งานได้" ที่เหลือให้แสดงคำว่า " เลิกใช้งาน "
	{
		echo 'help me T_T';
	}
	else
	{
		echo ''; // ไม่แสดงอะไรเลย
	}
	
	
  ?>




Tag : PHP, MySQL, JavaScript, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-09-27 11:33:21 By : cappuczino View : 1062 Reply : 27
 

 

No. 1



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



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


T_T ทำไมไม่มีใครตอบเลย ยากไปเหรอครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 13:46:41 By : cappuczino
 


 

No. 2



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



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


งงหงะครับ ขอดูฐานข้อมูลละอธิบายหน่อยจิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 14:07:44 By : popypreaw
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : popypreaw เมื่อวันที่ 2012-09-27 14:07:44
รายละเอียดของการตอบ ::
่อ่อ ขอโทษครับ ผมอธิบายไม่ดีเอง

ข้อมูลเป็นแบบนี้ครับ

1

ข้อมูลใน Table

2

และในหน้าเพจจะเป็นแบบนี้ครับ

3


และมีเงื่อนไขแบบนี้

ในช่อง สีเหลี่ยมสีชมพู ที่เขียนว่า "สถานะการใข้งาน" คือ

1.ผมอยากให้มันตรวจสอบ ว่ามีไฟล์ไหน มี Status เป็น เลข 5 บ้าง ถ้ามีให้แสดงคำว่า ใช้งานได้
2.ถ้าเกิดไฟล์ที่อยู่ในเงื่อนไข นั้นๆ มี ไฟล์ที่มี Status เลข 5 มากกว่า 1 ไฟล์ ให้ไฟล์ล่าสุด(เช็คจากอะไรได้บ้าง เช็คจากเวลาได้ใช่ไหมครับ ) แสดงคำว่าใช้งานได้ ส่วนไฟล์ก่อนหน้านั้น แสดงคำว่า ยกเลิกการใช้งาน

ซึ่งผมก้ลองเขียนโคดตามความเข้าใจผมได้ประมาณนี้ เลยมาขอคำแนะนำเพิ่มครับ

Code (PHP)
<? 
	
	$approve = "SELECT Status_EditFiles
				FROM filesedit
				WHERER Status_EditFiles = '5' AND filesedit.FilesID  = '".$objResult["FilesID"]."' AND filesedit.FilesID = files.FilesID";
	$Q_approve = mysql_query($approve) or die (mysql_error());
	$S_approve = mysql_num_rows($Q_approve);
	
	if($S_approve == 1) // ถ้ามีไฟล์ที่ Status_EditFiles = 5 แค่ไฟล์เดียวในเงื่อนไข ให้แสดงคำว่า "ใช้งานได้"
	{
		echo 'obsolete';
	}
	elseif (($S_approve > 1 && $time = 'ล่าสุด')) //แต่ถ้ามี ไฟล์ที่มี Status_EditFiles = 5 ในเงื่อนไข มากกว่า 1 ไฟล์์ ให้ ไฟล์ล่าสุด(ตรวจจากเวลา) ไฟล์ที่มี Status_EditFiles = 5 
	                        // ให้แสดงคำว่า "ใช้งานได้" ที่เหลือให้แสดงคำว่า " เลิกใช้งาน "
	{
		echo 'help me T_T';
	}
	else
	{
		echo ''; // ไม่แสดงอะไรเลย
	}
	
	
  ?>







ประวัติการแก้ไข
2012-09-27 14:27:03
2012-09-27 14:27:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 14:25:38 By : cappuczino
 


 

No. 4



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



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


แล้วมันแสดงข้อผิดพลาด หรือมันไม่ได้ตามความต้องการยังไงบ้างครับ....
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 14:58:10 By : Songkram
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : Songkram เมื่อวันที่ 2012-09-27 14:58:10
รายละเอียดของการตอบ ::
แสดงแบบนี้ อ่ะครับ

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Status_EditFiles = '5' AND filesedit.FilesID = '4' AND filesedit.FilesID = file' at line 3


คือ โคดที่ผมลองเขียนผมมั่วๆ เอา เลยมาถามดูว่าให้ช่วยแนะนำหน่อย เผื่อท่านอื่นมีแนวที่ดีกว่า หรืออะไรแบบนี้อ่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 15:03:13 By : cappuczino
 


 

No. 6



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



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


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
 


 

No. 7



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



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


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
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : popypreaw เมื่อวันที่ 2012-09-27 15:30:48
รายละเอียดของการตอบ ::
ขอบคุณครับ เดี๊ยวขอลองดูหน่อยน่ะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 15:51:36 By : cappuczino
 


 

No. 9



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



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


ไม่ได้อ่ะครับ ไฟล์ที่แสดงมาไม่ครบ เพราะมันมีเงื่อนไข แสดงแึค่ 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
 


 

No. 10



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



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


คือมี 2 Table ครับ แบบย่อๆ

Table หลัก
-FilesID
-Status

Table รอง
-EditID
-FilesID
-Status_Edit
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-27 16:24:29 By : cappuczino
 


 

No. 11



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



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


T_T ยังแก้ไม่ได้เลยอ่ะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 09:30:35 By : cappuczino
 


 

No. 12



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



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


ตอนนี้ ได้ประมาณนี้ครับ แต่มันไม่ยอมเข้าเงื่อนไข elseif เลยอ่ะครับ

ข้อมูลใน Table เป็นแบบนี้

9

แสดงแบบนี้

10

ในเพจแสดงไฟล์ครบแล้วครับ และ มี 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
 


 

No. 13



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



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


ที่ต้องการคือ แถวของ EditID = 9 ต้องแสดงด้วยใช่ไหมครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 11:18:41 By : popypreaw
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : popypreaw เมื่อวันที่ 2012-09-28 11:18:41
รายละเอียดของการตอบ ::
เปล่าครับ

แค่ให้แสดงคำว่า ใช้งาน กับ ยกเลิกใช้งาน

คือตอนนี้เข้าเงื่อนไข if แล้ว ให้แสดงคำว่า ใช้งาน กับไฟล์ที่มี Status เป็น 5
แต่ไฟล์มี 2 ไฟล์

ไฟล์ 1 Status =5
ไฟล์ 2 Status =1

ตามรูป แต่มันดันแสดงใช้งานได้ทั้ง 2 ไฟล์เลย ทั้งๆที่ต้องแสดง คำว่า ใช้งานได้แค่ แถวเดียว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 12:23:31 By : cappuczino
 


 

No. 15



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



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


ตอนนี้ ใน table มี Status_EditFiles ที่เป็น 5 อยู่กี่แถวครับ
ละก็ลอง print $S_approve; มาดูส่าได้ค่าอะไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 12:41:27 By : popypreaw
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : popypreaw เมื่อวันที่ 2012-09-28 12:41:27
รายละเอียดของการตอบ ::
9

มี 5 อยู่ แถวเดียวครับ

คือตามเงื่อนไข WHERE Status_EditFiles = '5' AND filesedit.FilesID = '".$objResult["FilesID"]."' ";
$Q_approve = mysql_query($approve);
$S_approve = mysql_num_rows($Q_approve);

คือตามเงื่อนไข ให้มันนับ Status ที่ = 5



if($S_approve == "1") // ถ้ามีไฟล์ที่ Status_EditFiles = 5 แค่ไฟล์เดียวในเงื่อนไข ให้แสดงคำว่า "ใช้งานได้"
{
echo $S_approve;
}

echo $S_approve ออกมาแล้ว = 1 อ่ะครับ

11



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 12:54:20 By : cappuczino
 


 

No. 17



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



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


แล้วถ้า select แค่นี้หละ
Code (PHP)
SELECT EditID FROM filesedit WHERE Status_EditFiles = '5' AND FilesID  = '".$objResult["FilesID"]."' 

ผลเป็นไง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 12:58:52 By : popypreaw
 


 

No. 18



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



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


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
 


 

No. 19



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



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


ท่านใดมีวิธีอื่นบ้างครับบ

ช่วยผมหน่อย

ถ้า While มารอบนึ่งแล้ว ได้ค่ามาแล้ว

จะ Check ค่า มันอีกรอบ ต้องทำไงดี

T_T
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 13:58:40 By : cappuczino
 


 

No. 20



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



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


จากที่เห็นแสดวงว่ามันวนคำสั่งนี้
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
 


 

No. 21



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



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


ตอนนี้ มี 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 ที่มีไฟล์รอง
-
-
-
-




12

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)) // ถ้ามีไฟล์ คิวรีออกมา
-
-
-
-
-

  ?>


13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 14:20:00 By : cappuczino
 


 

No. 22



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



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


จาก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
 


 

No. 23



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



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


ตอบความคิดเห็นที่ : 22 เขียนโดย : popypreaw เมื่อวันที่ 2012-09-28 14:24:38
รายละเอียดของการตอบ ::
ใช่ครับ ได้ค่า 2

เพราะมันนับค่าที่อยู่ใน Table ตามเงื่อนไข

คือมี 2 Table หน่ะครับ แบบย่อๆ

Table หลัก
-FilesID
-Filesname
-Status

Table รอง
-EditID
-FilesID
-Filesname
-Status_Edit



ประวัติการแก้ไข
2012-09-28 14:40:30
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 14:38:27 By : cappuczino
 


 

No. 24



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



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


นั่นไงครับมันเลยวนลูปคำสั่ง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
 


 

No. 25



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



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


ทำไงดีครับ

เริ่มสับสน

คือ loop 2 ครั้งแรกยังไงก้ต้องใช้

เพราะ ลูปแรก เอา เทเบิลแรกออกมา
ลูป 2 เอาไฟล์ย่อยจากเทเบิล 2 ที่มีค่า FilesID ตรงกับ Table แรกออกมา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-28 14:57:18 By : cappuczino
 


 

No. 26



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



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


T_T

แก้ไม่ออกครับ

ใครก้ได้ช่วยผมที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-09-29 11:05:29 By : cappuczino
 


 

No. 27



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



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


พี่ครับบบ ช่วยหน่อย

ข้อมูลมี ออก มาถูกต้องแล้ว ให้ไฟล์ที่มีเวลา ล่าสุดใช้งานได้ ที่เหลือ ใช้งานไม่ได้

แต่ข้อมูลมัน มี 3 แถว คิวรี่แล้วออกมาแค่แถวเดียวเอง ผมผิดตรงไหนอ่ะครับ แนะนำหน่อยครับบ

14

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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 04
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 อัตราราคา คลิกที่นี่