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 > เก็บค่าแบบ array แล้วเหมือนมันเก็บค่าสุดท้ายค่าเดียวครับ



 

เก็บค่าแบบ array แล้วเหมือนมันเก็บค่าสุดท้ายค่าเดียวครับ

 



Topic : 050325

Guest




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

$t=$t+1; //เอาไว้อ้างช่องของ อาเรย์
session_register("t"); //เก็บไว้ในsession เพื่อให้ค่าเปลี่ยนแปลงตอนเช็คค่าข้อต่อไป
$noaction[$t-1]="$sid_test"; //เก็บค่า id ของข้อสอบไว้ใน อาเรย์ช่องที่ 0
session_register("noaction[$t-1]"); //เก็บค่าที่อยู่ในอาเรย์ช่องที่ 0 ไว้ใน session

if($number<"$total_test"){ //ถ้ายังไม่ครบให้กลับไปทำข้อต่อไป
?>
<script>window.location="test.php"</script>>
<?
}
else{ //ถ้าครบให้นำค่าที่เก็บไว้กลับไปใช้ในการดึงข้อมูลชุดเดิมออกมาใหม่

for($j=0;$j<$total_test;$j++){ //อันนี้ทดลองแสดงค่าที่ได้ครับ
echo"ช่องที่ "." $j "." มีค่า = "." $noaction[$j] "?> <br> <? ;
}
}

ค่าที่ได้ออกมา
ช่องที่ 0 มีค่า =
ช่องที่ 1 มีค่า =
ช่องที่ 2 มีค่า =
ช่องที่ 3 มีค่า =
ช่องที่ 4 มีค่า = 31


ที่ผมอธิบายไว้ข้างหลังเป็นความเข้าใจของผมเองครับ
ถ้าเข้าใจอะไรผิดก็ขอให้ท่านช่วยสั่งสอนด้วยครับ ขอบคุณครับ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-10-17 04:10:05 By : mix View : 2557 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

น่าจะเป็นคุณไป Register ซ้ำน่ะครับ มันเลยเก็บแค่ค่าสุดท้ายครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-17 09:04:24 By : webmaster
 


 

No. 2

Guest


ผมเอา session_register("noaction[$t-1]"); ออกแล้วยังเป็นเหมือนเดิมครับ

ช่องที่ 0 มีค่า =
ช่องที่ 1 มีค่า =
ช่องที่ 2 มีค่า =
ช่องที่ 3 มีค่า =
ช่องที่ 4 มีค่า = 12

ผมใช้อาเรย์ถูกแล้วใช่มั้ยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-17 13:38:21 By : mix
 

 

No. 3



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



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


ลองเอาโค้ด ของผมไปดูนะครับ น่าจะเหมือนกัน

Code (PHP)
<? session_start();
//print_r($_POST);
//print_r($_GET);
//echo$_GET[page];
            if( count($_POST[check]) !='' )
            { 
			   if (!$_POST[i] ){$_SESSION[check][$_GET[i]] = $_POST[check];}else{$_SESSION[check][$_POST[i]] = $_POST[check];}
			
			  } 
            else if($_POST[submit] =='')
            { 
               // if (!$_POST[i] ){$_SESSION[check][$_GET[i]] = 0;}else{$_SESSION[check][$_POST[i]] = 0;}// echo"mm";
            }

if($_GET[chapter_id] == '' ){
	$chapter_id=$_POST[chapter];
	//echo "chapger_Post =",$chapter_id;
}
else if($_GET[chapter_id]!=''){
$chapter_id=$_GET[chapter_id];
	//echo "chapger_get=",$chapter_id;
}

if(!$_GET[page]){
	$page=$_POST[page];
//	echo "page_Post =",$page;
}
if($_GET[page] !=""){
	$page=$_GET[page];
	//echo "page_get=",$page;
}


?>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>แบบทดสอบ</title>
</head>

<body >
<form action="makeTest_SplitPage.php" method="post" name ='frm'>
<?

include "connect.php";



$number=1;

$sql="SELECT * FROM question WHERE chapter_id = '$chapter_id' ORDER BY id ASC ";
                                           
//echo $sql;
$sqlquery=mysql_db_query($dbname, $sql);
$totalrow = mysql_num_rows($sqlquery); 

$pagesize = 1;  // แสดงจำนวนข้อสอบในแต่ละหน้า ในที่นี้จะแสดง 1 ข้อ
$totalpage = $totalrow;  // หาจำนวนหน้าทั้งหมด
// ถ้าจำนวนหน้าเป็นเศษให้ปัดขึ้นไป
if(($totalrow%$pagesize)!=0){
$totalpage = 1;
} 
// หา record แรกที่จะแสดงของแต่ละหน้า
if(isset($page)){
$pageno = $page;
$start = $pagesize*($pageno-1);
}else{
$pageno = 1;
$start = 0;
}
$arrays= array();
if($_POST[last_page] == ''){ 
// ตัวแปร $start เป็นค่าที่เริ่มแสดงข้อสอบ ส่วนตัวแปร $pagesize ให้แสดงกี่ข้อ
$sql = "select * from question WHERE chapter_id = '$chapter_id' ORDER BY id ASC limit $start,$pagesize";

$sqlquery=mysql_db_query($dbname, $sql);
while ($r=mysql_fetch_array($sqlquery)){

 $id=$r[id];

$question=$r[question];
$c1=$r[c1];
$c2=$r[c2];
$c3=$r[c3];
$c4=$r[c4];
//print_r($_SESSION[check]);
foreach($_SESSION[check] as $key => $value) {
       // echo $key ,"=", $value,"<br>"; 
        //if(!in_array($value)=0){
        if($value !='0'){
        foreach($value as $key2 => $value1)
        {
           // echo$key ,"=>",$value1,"<br>";
        //} 
           // echo"POST === ",$key ,"=>",$_POST[i],"<br>";
            if($key == $id ) {$select_radio = $value1; $i = $key;}else{$select_radio = 0;}
        }
        }
        //echo$_POST[i];
    //if($key == $_POST[1]) {echo $select_radio = $value;}
}
?>
<br>ข้อ <? echo $start+1,". ",$question ;?></br><br>
<input type = 'radio' name='check[<? echo $id;?>]'  value='1' value='1' <?if($select_radio == 1 and $i == $id){echo"checked";}?>  >
1.
 <? echo $c1; ?> <br>
<input type = 'radio' name='check[<? echo $id;?>]' value='2' <?if($select_radio == 2 and $i == $id){echo"checked";}?>>
2.
<? echo $c2; ?><br>
<input type = 'radio' name='check[<? echo $id;?>]'  value='3' <?if($select_radio == 3 and $i == $id){echo"checked";} ?> >
3.
<? echo $c3; ?><br>
<input type = 'radio' name='check[<? echo $id;?>]'  value='4' <?if($select_radio == 4 and $i == $id){echo"checked";} ?>>
4. <? echo $c4; ?>
<hr>
<input  type = 'hidden' name = 'i'  value = '<?=$id;?>'>
<input  type = 'hidden' name = 'chapter'  value = '<?=$chapter_id;?>'>
<input type = 'submit'  value = 'ok'   ><hr>
<? 
}
}else{
    echo"<a href='sum_check.php?chapter_id=".$chapter_id."'><h2>ไปหน้าดูคะแนน</h2></a><hr>";
    echo " <a href='makeTest_SplitPage.php?chapter_id=$chapter_id&page=",$pageno,"'>Previous</a> | ";
    exit();
}
if($pageno >1){
echo " <a href='makeTest_SplitPage.php?chapter_id=$chapter_id&page=" ,$pageno-1,"&i=",$id,"'>Previous</a> | ";
} 
if($pageno<$totalpage){
echo " <a href='makeTest_SplitPage.php?chapter_id=$chapter_id&page=",$pageno+1,"&i=",$id,"'>Next</a>";
//if($pageno != $totalpage ){$pageno = $pageno+1;}else{$pageno = $pageno;}
echo"<input type = 'hidden' name = 'page'  value = '",$pageno+1,"'>";

}else{
    echo"<hr>";
    //if($pageno != $totalpage ){$pageno = $pageno+1;}else{$pageno = $pageno;}
    echo"<input type = 'hidden' name = 'page'  value = '",$pageno,"'>";
    echo"<input type = 'hidden' name = 'last_page'  value = '1'>"; 
    //echo"<a href='sum_check.php?chapter_id=".$chapter_id."'><h2>ไปหน้าดูคะแนน</h2></a>";
}
?>

</form>
</body>
</html>





ลองประยุกค์ดูครับ มันใช้ได้ เขียนแบบตามมีตามเกิด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-18 09:57:00 By : juder
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เก็บค่าแบบ array แล้วเหมือนมันเก็บค่าสุดท้ายค่าเดียวครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่