|
|
|
ช่วยออกแบบ ฐานข้อมูลและวิธีการเขียน หรือคำแนะนำในการเขียนด้วยครับ |
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2012-02-21 11:22:45 |
By :
prapatbut |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
select (p*i) as result from xxxx
|
|
|
|
|
Date :
2012-02-21 13:15:39 |
By :
ekeak |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูนะคะ พอดีไปเจอมา
Code (PHP)
<?php
function BubbleSort(&$arr, $sortby = "asc") {
$countMem = count($arr);
if ($sortby == "desc") {
for ($i = 0; $i < $countMem; $i++) {
for ($j = 0; $j < ($countMem-1); $j++) {
if ($arr[$j] < $arr[$j+1]) {
$tmp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
} else {
for ($i = 0; $i < $countMem; $i++) {
for ($j = 0; $j < ($countMem-1); $j++) {
if ($arr[$j] > $arr[$j+1]) {
$tmp = $arr[$j+1];
$arr[$j+1] = $arr[$j];
$arr[$j] = $tmp;
}
}
}
}
}?>
การเรียกใช้งาน
Code (PHP)
<?php
$arr = array(2, 5, 1, 3, 4, 8, 10);
// เป็นการเรียงแบบน้อยไปมาก หรืออาจจะเรียกแบบ BubbleSort($arr) ก็ได้
BubbleSort($arr, "asc");
print_r($arr);
// เป็นการเรียงแบบมากไปน้อย
BubbleSort($arr, "desc");
print_r($arr);
?>
|
|
|
|
|
Date :
2012-02-21 13:16:09 |
By :
teukkead |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อีกแบบ
Code (PHP)
<?PHP
$var=array(“a”,”b”,”B”,”c”);
natcasesort($var);
for ($i=0;$i<=count($var)-1;$i++){
echo $var[$i].”<br>”;
}
?>
ผลที่ได้คือ
a
b
B
c
|
|
|
|
|
Date :
2012-02-21 13:18:46 |
By :
teukkead |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค้ดมาดูดีกว่าค่ะ
|
|
|
|
|
Date :
2012-02-21 13:44:20 |
By :
teukkead |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?
$strSQL ="SELECT
`risk_vote`.*
, AVG(risk_vote.p_score) as psc
,AVG(risk_vote.i_score) as isc
, `risk_factor`.*
, `riskcategory`.`riskcat_Name`
, `riskcategorysub`.`catsubName`
, riskcategorysub.catsubCha
FROM
`riskdsm`.`risk_vote`
INNER JOIN `riskdsm`.`risk_factor`
ON (`risk_vote`.`outcome` = `risk_factor`.`factor_ID`)
INNER JOIN `riskdsm`.`riskcategorysub`
ON (`risk_vote`.`subprocess` = `riskcategorysub`.`catsubID`)
INNER JOIN `riskdsm`.`riskcategory`
ON (`risk_vote`.`process` = `riskcategory`.`riskcat_ID`) where 1 group by outcome";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSort = $_GET["sort"];
if($strSort == "")
{
$strSort = "risk_level";
}
$strOrder = $_GET["order"];
if($strOrder == "")
{
$strOrder = "DESC";
}
$strSQL .=" order by ".$strSort." ".$strOrder." LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
$strNewOrder = $strOrder == 'DESC' ? 'ASC' : 'DESC';
?>
<font size="+0.1">
<table width="700" border="1" align="center">
<div align="center"><p><h3 align="center"><font size="+0.5" color="#0000FF">สรุปผลการประเมินความเสี่ยง</font></h3></p></div><br />
<tr>
<th width="51"><div align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?sort=catsubCha&order=<?=$strNewOrder?>">รหัส</a></div></th>
<th width="240"><div align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?sort=outcome&order=<?=$strNewOrder?>">กระบวนงานที่เกิดความเสี่ยง</a></div></th>
<th width="45"><div align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?sort=psc&order=<?=$strNewOrder?>">P</a></div></th>
<th width="45"><div align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?sort=isc&order=<?=$strNewOrder?>">I</a></div></th>
<th width="75"><div align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?sort=risk_level&order=<?=$strNewOrder?>">ระดับ<br/>ความเสี่ยง</a></div></th>
<th width="75"><div align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?sort=ahp&order=<?=$strNewOrder?>">AHP </a></div></th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
if (number_format($objResult["isc"])==1 && number_format($objResult["psc"])==1){
$risk_level='1'; }
elseif (number_format($objResult["isc"])==1 && number_format($objResult["psc"])==2){
$risk_level='1'; }
elseif (number_format($objResult["isc"])==1 && number_format($objResult["psc"])==3){
$risk_level='2'; }
elseif (number_format($objResult["isc"])==1 && number_format($objResult["psc"])==4){
$risk_level='2'; }
elseif (number_format($objResult["isc"])==2 && number_format($objResult["psc"])==1){
$risk_level='1'; }
elseif (number_format($objResult["isc"])==2 && number_format($objResult["psc"])==2){
$risk_level='1'; }
elseif (number_format($objResult["isc"])==2 && number_format($objResult["psc"])==3){
$risk_level='2'; }
elseif (number_format($objResult["isc"])==2 && number_format($objResult["psc"])==4){
$risk_level='2'; }
elseif (number_format($objResult["isc"])==3 && number_format($objResult["psc"])==1){
$risk_level='3'; }
elseif (number_format($objResult["isc"])==3 && number_format($objResult["psc"])==2){
$risk_level='3'; }
elseif (number_format($objResult["isc"])==3 && number_format($objResult["psc"])==3){
$risk_level='4'; }
elseif (number_format($objResult["isc"])==3 && number_format($objResult["psc"])==4){
$risk_level='5'; }
elseif (number_format($objResult["isc"])==4 && number_format($objResult["psc"])==1){
$risk_level='3'; }
elseif (number_format($objResult["isc"])==4 && number_format($objResult["psc"])==2){
$risk_level='3'; }
elseif (number_format($objResult["isc"])==4 && number_format($objResult["psc"])==3){
$risk_level='5'; }
else {
$risk_level='5'; }
if($risk_level==1){ $risklevel='ต่ำ'; }
elseif($risk_level==2){$risklevel='ปานกลาง'; }
elseif($risk_level==3){$risklevel='สูง'; }
elseif($risk_level==4){$risklevel='สูงมาก ระดับ 2'; }
else{$risklevel='สูงมาก ระดับ 1'; }
// ahp
$calahp=(number_format($objResult["isc"])*number_format($objResult["psc"]))*$objResult["ahp_score"];
if($calahp<1) { $riskahp='1'; }
elseif($calahp<2){$riskahp='2';}
elseif($calahp<3){$riskahp='3';}
elseif($calahp<4){$riskahp='4';}
else {$riskahp='5';}
if($riskahp==1){ $risk_ahp='ต่ำ'; }
elseif($riskahp==2){$risk_ahp='ปานกลาง'; }
elseif($riskahp==3){$risk_ahp='สูง'; }
elseif($riskahp==4){$risk_ahp='สูงมาก ระดับ 2'; }
else{$riskahp='สูงมาก ระดับ 1'; }
?>
<tr><font color="#FFFFFF">
<td><div align="center"><?=$objResult["catsubCha"];?></div></td>
<td><div align="left"><?=$objResult["factor_Name"];?></div></td>
<td bgcolor="#00FF00"><div align="center"><?=number_format($objResult["psc"]);?></div></td>
<td bgcolor="#FF0000"><div align="center"><?=number_format($objResult["isc"]);?></div></td>
<td><div align="center"><?=$risklevel;?></div></td>
<td><div align="center"><?=$risk_ahp;?></div></td>
</font>
</tr>
<?
}
?>
</table>
</font>
<!--<tr align="right"><div align="right"><font size="+1" color="#FF0000">คลิกเพื่อดาวโหลด</font></div></tr>-->
<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href='$_SERVER[PHP_SELF]?Page=$Prev_Page&sort=$strSort'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='$_SERVER[PHP_SELF]?Page=$i&sort=$strSort'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[PHP_SELF]?Page=$Next_Page&sort=$strSort'>Next>></a> ";
}
mysql_close($objConnect);
?>
|
|
|
|
|
Date :
2012-02-21 13:47:22 |
By :
prapatbut |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นระบบแบบสอบถามเหรอครับ โค๊ดคุณเป็นยังไงครับ ติดตรงใหนครับ
|
|
|
|
|
Date :
2012-02-21 13:52:18 |
By :
pumin99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$strSort กับ $strOrder รับมาจากไหนแล้วมันคือค่าอะไรเหรอคะ
|
|
|
|
|
Date :
2012-02-21 14:20:24 |
By :
teukkead |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันติดที่ตรงนี้อ่ะ ไม่ได้สั่งให้มันเรียง
Code (PHP)
$strSQL .=" order by ".$strSort." ".$strOrder." LIMIT $Page_Start , $Per_Page";
คือเหมือนกับว่าถ้าเราไม่ได้คลิกหัวตาราง ก็เท่ากับว่า มันจะเป็นค่าที่เรามีอยู่ ซึ่งน่าจะเป็นตัวเลขหรือป่าวคะ
ลอง echo $strSQL ออกมาดูแล้วทีนะคะ
ถ้าจะให้ดีขอดาต้าเบสที่ใช้ด้วยก็ดีนะคะ
|
ประวัติการแก้ไข 2012-02-21 14:42:43
|
|
|
|
Date :
2012-02-21 14:41:40 |
By :
teukkead |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ฟิล์ "outcome" เก็บ id ของ ปัจจัยเสี่ยงน่ะครับ
ฟิล์ที่สนใจตอนนี้คือ p_score , i_score และ outcome
|
|
|
|
|
Date :
2012-02-21 15:04:25 |
By :
prapatbut |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา p_score , i_score คูณกันแล้วได้ผลลัพธ์ใช่มั้ยคะ
Code (PHP)
$sql = "select(p_score * i_score) as sum from ชื่อตาราง order by sum DESC";
sum คือ ฟิวด์ผลลัพธ์ของ p_score , i_score คูณกัน ให้เก็บไว้ในดาต้าเบส แล้วให้มันเรียงตาม ผลลัพธ์ที่คูณกัน
|
|
|
|
|
Date :
2012-02-21 15:13:59 |
By :
teukkead |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|