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 : 109984



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



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




ภาพประกอบ

แบบทดสอบมี 54 ข้อ มี 3 ตัวเลือก A, B, X การคำนวนก็ตามภาพที่แนบมา เราจะนับ A, B ว่ามีกี่ตัวอย่างไร หลังจากได้ผลลัพแล้ว เราต้องเรียงค่ามากไปน้อย จากช่องผลลัพในช่อง T อ่ะ รบกวนผู้รู้ช่วยหน่อยครับ



Tag : PHP, MySQL, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-16 21:54:15 By : ao140 View : 1132 Reply : 18
 

 

No. 1



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



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


ต้องเอาโค้ดที่สร้างตารางพวกนี้มาดูด้วยซิ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 22:20:17 By : survivor
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : survivor เมื่อวันที่ 2014-07-16 22:20:17
รายละเอียดของการตอบ ::
มันเป็นตารางวิธีคิดที่ให้เห็นภาพ มันต่อยอดจากขอที่ผมถามพี่เรื่อง Radio อ่ะ คือเราดึงข้อมูลคำถามจากฐานมาแสดง ทั้งหมด 54 ข้อ ในแต่ละข้อ มี สาม ตัว เลือก คือ A, B, X แต่ละข้อถ้าเลือกแล้วก้อเก็บใน session แล้วเอามาคิดดังตารางภาพด้านบนอ่ะ ผมคิดเงื่อนไขไม่ได้อ่ะ รบกวนหน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 22:29:12 By : ao140
 

 

No. 3



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



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


Quote:
ไปทำตารางมาก่อนค่ะ ซึ่งน่าจะเรียง

1[A] 2[B] 3[A] 4[X]
5[X] 6[B] 7[B] 8[A]


ลักษณะนี้ง่ายกว่า สุดท้ายค่อยหาผลรวมแต่ละแถวค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 22:34:04 By : survivor
 


 

No. 4



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



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


มันเป็นแบบทดสอบ เค้าให้คิดด้วยวิธีดังรูปข้างบนอ่ะ ผมก้อคิดเงื่อนไขไม่ออกเลยอ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 22:45:27 By : ao140
 


 

No. 5



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



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


คำตอบที่ได้เก็บไว้ในตัวแปร session หรือค่ะ (ที่ได้จากกระทู้ก่อน)

แล้วรูปแบบการจัดเรียงใช้ลักษณะนี้
1 2 3 4
5 6 7 8
ได้หรือไม่ ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 22:52:36 By : survivor
 


 

No. 6



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



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


คำตอบที่ได้เก็บไว้ในตัวแปร session ครับผม

การจัดเรียงใช้ลักษณะนี้
1 2 3 4
5 6 7 8
ไม่ได้ครับ ต้องเรียงดังรูปข้างบนอ่ะ เพราะเค้ากำหนดไว้แล้วว่า ต้องคำนวนแบบรูปอ่ะ รูปนั้นผมก้อเอามาจากกระดาษคำตอบที่เปนแบบทดสอบอ่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 23:01:08 By : ao140
 


 

No. 7



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



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


Quote:
คงต้องกำหนดอาเรย์ช่วยค่ะ
$a[] = array(1,7,13,19,25,31,37,43,49);
$a[] = array(2,8,14,20,26,32,38,44,50);
กำหนดแบบนี้ไปเรื่อยๆจนครบค่ะ

แล้วกำหนด loop

Code (PHP)
foreach($a as $sub_a){
	foreach($sub_a as $value){
		echo "$value.)[ {$_SESSION[$value]} ]   ";
	}
	echo "<br />\n";
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-16 23:29:37 By : survivor
 


 

No. 8



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


จากตัวอย่าง เราได้ array 54 elements

แบ่งเป็น 6 rows 9 columns

Code (PHP)
//$a=array(54 elements) [0-53] ถูกกำหนดมาแล้ว
$rs=array();  ตัวแปรสำรองผลลัพธ
for ($i=0; $i<54; $i++){
   $idx=$i % 6;             //  หาค่า index of rows 0 - 5
   if(!isset($rs[$idx][$a[$i]])) $rs[$idx][$a[$i]] = 0; // กำหนดค่า เริ่มต้น เป็น 0
   $rs[$idx][$a[$i]]++;                   //  sum A B or X
   $row[$idx] .= ($i+1).' [',$a[$i], ']  ';   // ต่อ stream แถว
}

for($x=0; $x<6; $i++){
    echo $row[$x],'A=',$rs[$x]['A'] * 2, ,'  B=',$rs[$x]['B'], '  X=',$rs[$x]['X'], "<br/>\n"; 
}

หมายเหตุ
สำหรับถ้า element index เท่ากับ 1-54 ให้กำหนด ตัวแปร $a[$i] ทุกตัวเป็น $a[$i +1];

ปล.
แก้ไขเพิ่มเติม ผลรวม X คงไม่ตรงกับโจทย์ ปรับเอาเองนะครับ
พอดีเลื่อนขึ้นไปอ่านโจทย์ใหม่ ต้องการผลรวม A * 2 + B = T
แต่ตัวอย่าง ทำไว [ 8 ] [ 3 ] [ 12 ] เลยนึกว่า 12 เป็นค่า X ในตอนแรก
มานึกได้ว่า มันมีแค่ 9 columns เป็น X ไม่ได้ มันเกิน


ประวัติการแก้ไข
2014-07-17 05:45:49
2014-07-17 05:47:10
2014-07-17 05:48:44
2014-07-17 05:53:34
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 05:36:44 By : Chaidhanan
 


 

No. 9



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : survivor เมื่อวันที่ 2014-07-16 23:29:37
รายละเอียดของการตอบ ::
ขอบคุณพี่มากครับ แต่ก็ งง อยู่อ่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 07:52:24 By : ao140
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-17 05:36:44
รายละเอียดของการตอบ ::
พี่ช่วยปรับให้ ผมอีกหน่อยได้รึป่าวครับ แล้วต้องการหาค่ามาก จากคอลัม T ทั้งหมด 6 แถว เพื่อเก็บในฐานข้อมูล แล้วเอามาแสดงเรียงค่ามากไปน้อยอ่ะ รบกวนด้วยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 07:59:25 By : ao140
 


 

No. 11



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


Code (PHP)
//$a=array(54 elements) [0-53] ถูกกำหนดมาแล้ว
$rs=array();  ตัวแปรสำรองผลลัพธ
for ($i=0; $i<54; $i++){
	$idx=$i % 6;             //  หาค่า index of rows 0 - 5
	if(!isset($rs[$idx])){
		$rs[$idx]=array('A'=>0, 'B'=>0,'X'=>0, 'query'=>'', 'str'=>'' );// set default
	}
	$rs[$idx][$a[$i]]++;                   //  sum A B or X
	$rs[$idx]['query'] .= ($rs[$idx]['query'] ? ', ' : '') . ($i+1)." , '$a[$i]' ";
	$rs[$idx]['str'] .= ($i+1).' [',$a[$i], ']  ';
}

for($x=0; $x<6; $i++){
	echo $rs[$x],'A=',$rs[$x]['A'] * 2, ,'  B=',$rs[$x]['B'], '  X=',$rs[$x]['X'], "<br/>\n"; 
	mysql_query('insert into table values('.$rs[$x]['query'].", $rs[$x][A] * 2 , $rs[$x][B], $rs[$x][X]')';
}



ส่วน field table
nm1, data1, nm2, data2, nm3, data3, nm4, data4,....,nm9, data9, A, B, X


query แสดงผล
Code (SQL)
select *, (A+B) as T from table order by (A+B) desc



ประวัติการแก้ไข
2014-07-17 10:24:26
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 10:19:03 By : Chaidhanan
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : ao140 เมื่อวันที่ 2014-07-16 23:01:08
รายละเอียดของการตอบ ::
"คำตอบที่ได้เก็บไว้ในตัวแปร session ครับผม"
ตัวแปร session ที่ว่าใชชื่ออะไรค่ะ ที่ช่วยตอบได้ไม่เคลียร์เพราะ จขกท. ไม่มีโค้ดมาให้ดุเลยนี่ค่ะ
ถ้าทำมาบ้างแล้ว คงไปไวกว่านี้ .... แต่ตอนนี้ทำได้แค่ช่วยคลำทางกันไปเรื่อยๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-17 11:48:41 By : survivor
 


 

No. 13



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-17 05:36:44
รายละเอียดของการตอบ ::
พี่ครับ ผมรันแล้วมันไม่ขึ้นบรรทัดใหม่อ่ะ ขึ้นแต่บรรทัดแรกซ้ำๆๆๆๆ อ่ะ ช่วยดูให้หน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-18 09:59:53 By : ao140
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 8 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-17 05:36:44
รายละเอียดของการตอบ ::
ddd
มันเป็นแบบนี้อ่ะ รบกวนหน่อยครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-18 10:14:03 By : ao140
 


 

No. 15



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


print_r( $a ); เอา array มา แปะ ให้หน่อยครับ มีงานอยู่ด้วยครับ จะได้ไ่ม่ต้องเสียเวลาพิมพ์
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-19 12:12:06 By : Chaidhanan
 


 

No. 16



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


ขอโทษทีครับ
Code (PHP)
13 for($x=0; $x<6; $i++){ //บันทัดนี้มันผิด ก๊อปมาแก้ไม่หมด
//แก้เป็น
for($x=0; $x<6; $x++){ //

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-19 22:03:36 By : Chaidhanan
 


 

No. 17



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



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


แก้ให้ใหม่แล้วนะครับ อันบน ไม่ได้เทสต์ อันนี้เทสต์เรียบร้อย
Code (PHP)
<?php
$a=array(); $b=array('A', 'B', 'X');
//$a=array(54 elements) [0-53] ถูกกำหนดมาแล้ว
$rs=array();  //ตัวแปรสำรองผลลัพธ
for ($i=0; $i<54; $i++){
	
	$a[$i]=$b[rand(0,2)];  // บันทัดนี้เนื่องจากไม่มี ค่า $a เลยต้องสร้างค่า ขึ้นมาก่อน	
	
	$idx=$i % 6;             //  หาค่า index of rows 0 - 5
	if(!isset($rs[$idx])){
		$rs[$idx]=array('A'=>0, 'B'=>0,'X'=>0, 'query'=>'', 'str'=>'' );// set default
	}
	$rs[$idx][$a[$i]]++;                   //  sum A B or X
	$rs[$idx]['query'] .= ($rs[$idx]['query'] ? ', ' : '') . ($i+1)." , '$a[$i]' ";
	$rs[$idx]['str'] .= ($i+1).' [' . $a[$i] . ']  ';
}

$sql='';
for($x=0; $x<6; $x++){
	echo $rs[$x]['str'].'A='.($rs[$x]['A'] * 2).'  B='.$rs[$x]['B'].'  X='.$rs[$x]['X']."<br/>\n"; 
	$sql.=($qr='insert into table values('.$rs[$x]['query'].', '.($rs[$x][A] * 2) .' , ' . $rs[$x]['B'].' , ' . $rs[$x]['X']. ' );'."\n");
}
echo $sql;
//mysql_query($sql);
?>


บางอย่างก็ปรับเอาหน่อยนะครับ ไม่มี database จะเทสต์
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-19 22:14:07 By : Chaidhanan
 


 

No. 18



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



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


ตอบความคิดเห็นที่ : 17 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-07-19 22:14:07
รายละเอียดของการตอบ ::
ขอบคุณพี่มากเลยครับ แสดงผลตามที่ผมต้องการเลยครับ แต่ผมก้อไม่ค่อยเข้าจัยเงื่อนไขเท่าราย อิอิ แต่ก้อจะพยายามศึกษาครับ ขอบคุงครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-20 15:39:38 By : ao140
 

   

ค้นหาข้อมูล


   
 

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