PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

สอบถามทำแบบทดสอบออนไลน์ครับ

สอบถามทำแบบทดสอบออนไลน์ครับ
ขอเกริ่นก่อนนะครับ

ผมจะทำแบบทดสอบออนไลน์ โดยจะมี 10 คำถามโดยใน 1 คำถามมีข้อย่อย และ ใน 1 ข้อ ต้องตอบสองครั้ง โดยตอบใน A และ B  

โดยในช่อง ห้ามซ้ำกัน และห้ามตอบคำถามในแถวเดียวกัน ตามรูปครับ




และ Value ในช่อง A และ B ไม่เหมือนกันทั้ง 20 ข้อ เช่น (เรียงจากบนลงล่าง) ช่อง A = z,v,w,y,x ช่อง B = v,y,x,z,w

เมื่อทำเสร็จแล้วอยากได้ว่า คนที่ทำนั้นได้ตอบ v,w,x,y,z กี่ตัว เช่น


ชื่อฐาน : TEST A เก็บช่อง A


id name ข้อ1 ข้อ2 ข้อ3 ข้อ4 ข้อ5 ข้อ6 ข้อ7 ข้อ8 ข้อ9 ข้อ10
1 man v v x v w v v y z v


ชื่อฐาน : TEST B เก็บช่อง B

id name ข้อ1 ข้อ2 ข้อ3 ข้อ4 ข้อ5 ข้อ6 ข้อ7 ข้อ8 ข้อ9 ข้อ10
1 man v v x x w z z y z x


แถวคนชื่อ แมน

ได้ตอบช่อง A  v=6 ตัว, w=1 
ตัว, x=1 ตัว, y=1 ตัว, z=1 ตัว
ได้ตอบช่อง B  v=2 ตัว, w=1 ตัว, x=3 ตัว, y=1 ตัว, z=3 ตัว

และต้องเอาช่อง A กับ B มาลบกัน

เช่น  จำนวนทั้งหมด 10 ข้อ ช่อง A ตอบ  V = 6 ตัว   ช่อง B ตอบ V = 2 ตัว และเอามาลบกัน ก็จะเท่ากับ 4  แล้วทำเหมือนกันทุกตัวครับ

 


ซึ่งผมได้ทำการเก็บ ฐานแยกเหมือนกับข้างบนครับ  แต่ยังไม่สามารถให้มันรวบกันได้ ว่าได้ตอบ ข้อ V กี่ตัว X กี่ตัวครับ

รบกวนด้วยนะครับ

ถ้าไม่เข้าใจถามได้ครับ



โดย:  Manchan IP: 171.98.141.xxx วันที่: 11-06-2015 เวลา: 17:27:46

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ


  • ( หรือ สามารถทำการ สมัครสมาชิก และล็อกอิน ด้วย ปุ่ม Log in with Facebook ด้านล่าง )
 ความคิดเห็นที่ 4
ขอบคุณครับ 


และทำไมเมื่อวานผมไม่เห็นโค๊ดในความคิดเห็นที่1น้าา 




โดย:  Manchan IP: 171.98.141.xxx วันที่: 12-06-2015 เวลา: 08:09:52
 ความคิดเห็นที่ 3
ชื่อฟิลด์ในฐานข้อมูลน่าจะเป็นภาษาอังกฤษ แทนภาษาไทย เช่น choice1,choice2......

<?php
$q="
SELET * FROM test_a WHERE 1 
";
$qr=mysql_query($q);
while($rs=mysql_fetch_array($qr)){
    $str_char=$rs['ข้อ1'].$rs['ข้อ2'].$rs['ข้อ3'].$rs['ข้อ4'].$rs['ข้อ5'].$rs['ข้อ6'].$rs['ข้อ7'].$rs['ข้อ8'].$rs['ข้อ9'].$rs['ข้อ10'];
    $len=strlen($str_char); // หาความยาว
    $char_arr=array();
    // วนลูปเก็บแต่ละค่าลงตัวแปร
    for($i=0;$i<$len;$i++){
        $char_arr[]=substr($str_char,$i,1);
    }
    // นับแต่ละค่าว่ามีกี่ตัวเก็บในตัวแปร array
    $char_arr_count=array_count_values($char_arr);    
    
    if(count($char_arr_count)>0){
        foreach($char_arr_count as $key=>$value){
            echo $key." = ".$value."<br>";
        }
    }
    
}
?>


โดย:  Ninenik IP: 1.46.195.xxx วันที่: 11-06-2015
 ความคิดเห็นที่ 2
ผมยังงงๆตอนเรียกข้อมูลมานับ ผมลองใส่
$sql  = "select * from tastA where ข้อ1='v' or ข้อ2='v'......or ข้อ10='v'";

$query = mysql_query($sql);

$num = mysql_num_rows($query);

$row = mysql_fetch_array($query);

echo $num; ??? // V = 6




โดย:  Manchan IP: 183.88.97.xxx วันที่: 11-06-2015 เวลา: 22:30:45
 ความคิดเห็นที่ 1
 ถ้ามีข้อมูลที่บันทึกลงฐานข้อมูลไว้แล้ว ก็น่าจะดึงมาทำกาานับได้เลย ตรงนี้จะขึ้นกับ
รูปแบบโครงสร้างฐานข้อมูลว่าออกแบบยังไง

แนวทางการนับ รายการตัวอักษร วา่มีกี่ตัว

<?php
// ต่อค่าเป็น string
$a="xxyzvwwwzxw";
$len=strlen($a); // หาความยาว
$char_arr=array();
// วนลูปเก็บแต่ละค่าลงตัวแปร
for($i=0;$i<$len;$i++){
    $char_arr[]=substr($a,$i,1);
}
// นับแต่ละค่าว่ามีกี่ตัวเก็บในตัวแปร array
$char_arr_count=array_count_values($char_arr);
?>
<pre> 
<?php
print_r($char_arr); 
print_r($char_arr_count);
?>
</pre>



โดย:  Ninenik IP: 1.46.195.xxx วันที่: 11-06-2015