พี่ๆ ครับ ช่วยผมหน่อยครับผมจะเอา ตัวแปรในลูป เอาออกมาใช้ นอกลูป อะครับควรทำไงดี
ใน dominant_feature เก็บข้อมูลยังไงครับ
Date :
2014-02-23 00:53:07
By :
tongkamlekdee
แบบนี้ ครับ
echo $B = $recordset['Color_ID'];
ได้
1 2 2 4 2 2 2 2 2 4 4 ครับ
ส่วน
$A = $_POST["Crest"][$i];
รับค่ามาจาก listmenu อะครับ
Date :
2014-02-23 01:01:57
By :
nonzabboy
ไม่ต้องเอาไปทั้งบรรทัด แค่เอา $A เข้าไปใช้ในลูป while ได้เลยครับ
Date :
2014-02-23 07:49:41
By :
{Cyberman}
ผมลองแล้วก็ยังไม่ได้อะครับ
ถ้า echo ในลูป จะ ออก 00000000000 แบบที่ถูกต้อง พอเอา $A ย้ายลงมา ข้างล่าง $B จะออก
0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
อะครับ
Date :
2014-02-23 11:59:53
By :
nonzabboy
สิ่งที่ต้องการคืออะไรครับเท่าที่ดูคือ เอาตัวแปร A จาก for loop เข้าไปลบตัวแปร B ใน while loop รวมค่าแล้วแสดงผล เสร็จก็กลับไปเข้า loop for มาใหม่หา A อันใหม่ วนไปเรื่อยๆจนจบ for ไช่ไหมครับ ตัวแปร output คือ
- SUM_DISTANCE มันต้องรวบรวมค่าไปเรื่อยๆแล้วแสดงทีเดียว ดังนั้นให้มัน echo อยู่นอก while แต่ใน for ดังนี้ถูกไหมครับ
- $SUM_DISTANCE = 0; ต้องเข้าไปอยู่ใน forloop ด้วยกันกรณีผิดพลาดอยู่นอก loop มิได้
Code (PHP)
for($i=0;$i<count($_POST["Crest"]);$i++){
$A = $_POST["Crest"][$i];
$SUM_DISTANCE = 0;
$sql = "SELECT Chicken_ID,Organ_ID,Color_ID, MAX(C_Percentage) as MAX_CPercentage FROM dominant_feature GROUP BY Chicken_ID, Organ_ID ORDER BY Chicken_ID,Organ_ID;"; // คำสั่ง sql อ่านข้อมูลจากตาราง dominant_feature
$result = mysql_query($sql);
while($recordset = mysql_fetch_assoc($result)){ // วน loop ดึงข้อมูลออกมา ทีละ record
$B = $recordset['Color_ID'];
//คำนวณหาระยะทาง
$SUM_DISTANCE += pow($A - $B ,2) ;
$Distance = sqrt($SUM_DISTANCE);
}
echo $Distance."</br>";
}
Date :
2014-02-23 14:43:08
By :
meannerss
แล้วตัวแปร $A จะออกมาใช้นอก loop for ได้ไหมครับ
Date :
2014-02-23 17:03:39
By :
nonzabboy
ที่ทำในExcel นะครับ
ผมอยากจะคำนวน แบบนี้อะครับ
โดยเอา ตัวที่ 1 ลบ กับตัวที่ 2
ตัวที่ 1 - ตัวที่ 3
แล้วค่าที่ได้ออกมาจะออกเป็นแบบนี้
ตัวที่ 1 ลบ กับตัวที่ 2
จะได้ 3.61
ตัวที่ 1 ลบ กับตัวที่ 3
จะได้ 3.61
ผมจะเขียน PHP อย่างไรให้มันคำนวน ได้แบบนี้อะครับ
ตอนนี้ผมเขียนได้ ตัวที่ 1 ลบ กับตัวที่ 2
ค่าออกมาก็ตรง กับ 3.61
แต่พอมี ตัวที่ 2 อยู่ในฐานข้อมูล ค่าเยอะขึ้น
มันไม่ออกมา เป็น
3.61
3.61
ครับ
Code (PHP)
$sql = "SELECT Chicken_ID,Organ_ID,Color_ID, MAX(C_Percentage) as MAX_CPercentage FROM dominant_feature GROUP BY Chicken_ID, Organ_ID ORDER BY Chicken_ID,Organ_ID;"; // คำสั่ง sql อ่านข้อมูลจากตาราง dominant_feature
$result = mysql_query($sql);
while($recordset = mysql_fetch_assoc($result)){ // วน loop ดึงข้อมูลออกมา ทีละ record
$chickNO = $recordset['Chicken_ID'];
$organNO = $recordset['Organ_ID'];
$myTable[$chickNO][$organNO] = $recordset['Color_ID'];
++$i;
//echo $_POST["Crest"][$i-1];
$X += pow($_POST["Crest"][$i-1] - $myTable[$chickNO][$organNO] ,2);
$Distance = sqrt($X);
}
echo number_format($Distance, 2, '.', ' ');
Date :
2014-02-24 23:41:03
By :
nonzabboy
*สันนิษฐานว่ามันต้องมี loop ก่อนหน้านี้ไช่ไหมครับ Distance ถึงได้มีหลายค่าได้
ดังนั้นประกาศ Distance = 0 ก่อนเข้าลูปครับ
Code (PHP)
$sql = "SELECT Chicken_ID,Organ_ID,Color_ID, MAX(C_Percentage) as MAX_CPercentage FROM dominant_feature GROUP BY Chicken_ID, Organ_ID ORDER BY Chicken_ID,Organ_ID;"; // คำสั่ง sql อ่านข้อมูลจากตาราง dominant_feature
$result = mysql_query($sql);
$Distance = 0; // ประมาณนี้มั้งลองดูก่อน
while($recordset = mysql_fetch_assoc($result)){ // วน loop ดึงข้อมูลออกมา ทีละ record
$chickNO = $recordset['Chicken_ID'];
$organNO = $recordset['Organ_ID'];
$myTable[$chickNO][$organNO] = $recordset['Color_ID'];
++$i;
//echo $_POST["Crest"][$i-1];
$X += pow($_POST["Crest"][$i-1] - $myTable[$chickNO][$organNO] ,2);
$Distance = sqrt($X);
}
echo number_format($Distance, 2, '.', ' ');
Date :
2014-02-24 23:51:06
By :
meannerss
ลอง แล้วครับ ยังไม่ได้เลยครับ ขอบคุณมากๆครับ
Date :
2014-02-25 00:39:33
By :
nonzabboy
พี่ๆๆคนไหนพอจะช่วยผมได้ หรือ ป่าวครับ
Date :
2014-02-28 21:47:03
By :
nonzabboy
Load balance : Server 04