|
|
|
ต้องการเก็บค่าตัวแปรที่ทำการ GET ในหน้าเดียวซ้ำตามจำนวนรอบของโจทย์ที่กำหนด |
|
|
|
|
|
|
|
ลองเปลี่ยนกระบวนการคิดใหม่ครับ อ่าน ๆ แล้วมันเข้าใจยากครับ
|
|
|
|
|
Date :
2011-09-27 21:18:17 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ทีแรกที่ทำเลยคือทำข้อละหน้าไปเลยค่ะ
แต่เจ้านายรีเควสมาใหม่ว่าให้เขียนหน้าเดียวพอแล้ววนอ่านคำถามเอา (โชว์ทีละข้อ)
พอจะมีวิธีแนะนำมั้ยคะ ว่าควรจะเขียนยังไงดี?
|
|
|
|
|
Date :
2011-09-28 10:09:28 |
By :
SuSaya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วนคำถามนี่หมายถึง code หน้าเดียวมี 13 คำถาม แต่ให้แสดงทีละคำถามถ้าตอบก็ให้แสดงคำถามข้อถัดไปใช่ไหม
ถ้าใช่
ลอง hidden คำถามที่ยังไม่ให้โชว์ไว้ไหม แล้วcheckเอาถ้าตอบคำถามก่อนหน้าแล้วให้โชว์คำถามถัดไปได้
วนเก็บค่าเป้น array เอา ถ้าให้ช่วยลองโพสโค๊ด มาให้ดูได้นะ ลองดูๆ
|
|
|
|
|
Date :
2011-09-28 10:34:22 |
By :
LuckyStar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองศึกษา ajex ดูเผื่อจะช่วยได้
เช่น
ข้อ1
1.1 a
1.2 b
1.3 c
1.4 d
1.5 e
*เลือกข้อ5 Next ไป ข้อ2 ซึ่งจะโชว์ตัวแปลของข้อ1ไว้เป็น
1 e
2.1 q
2.2 w
2.3 e
2.4 r
2.5 t
*เลือกข้อ5 Next ไป ข้อ2 ซึ่งจะโชว์ตัวแปลของข้อ1ไว้เป็น
1 e 2 t
1.1 q
2.2 w
3.3 e
4.4 r
5.5 t
พอครบแล้วกด send ก็สั่งให้ request ทั้งหมดทุกข้อ
echo $_SERVER["REQUEST_URI"]." ";
echo $_GET["e"]."";
echo $_GET["t"]."";
ลองจินตนาการดูนะ ว่าจะ ทำเป็นยังไง ผมก็ไม่ค่อยเก่ง
|
|
|
|
|
Date :
2011-09-28 10:45:35 |
By :
romanztic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
session_start();
include("include/connect.php");
if(isset($_GET))
{
$topic=$_GET['topic'];
}
else
{
$topic='0';
}
$cmd = "SELECT QUSTTOPIC,QUSTQUSTN,QUSTANSW1,QUSTDSCP1,QUSTSCOR1,
QUSTANSW2,QUSTDSCP2,QUSTSCOR2,
QUSTANSW3,QUSTDSCP3,QUSTSCOR3,
QUSTANSW4,QUSTDSCP4,QUSTSCOR4,
QUSTANSW5,QUSTDSCP5,QUSTSCOR5
FROM QUESTION WHERE QUSTTOPIC='$topic'";
?>
<html>
<head>
<title>
คำถาม
</title>
<style type="text/css">
p.font1{font-size:40 px; font-weight:bold;}
p.font2{font-size:24 px; font-weight:bold;}
</style>
<script language="JavaScript">
function beforePost() {
if ( !document.frm1.ans[0].checked &&
!document.frm1.ans[1].checked &&
!document.frm1.ans[2].checked &&
!document.frm1.ans[3].checked &&
!document.frm1.ans[4].checked ) {
alert('ยังไม่ได้เลือก');
} else { topic = document.frm1.topic.value;
if(document.frm1.ans[0].checked) {
ans = document.frm1.ans[0].value;
}
else if(document.frm1.ans[1].checked) {
ans = document.frm1.ans[1].value;
}
else if(document.frm1.ans[2].checked) {
ans = document.frm1.ans[2].value;
}
else if(document.frm1.ans[3].checked) {
ans = document.frm1.ans[3].value;
}
else if(document.frm1.ans[4].checked) {
ans = document.frm1.ans[4].value;
}
topic++;
//check last topic
if(topic<=12){
location.replace('http://10.33.1.11:10088/tyyhr/question_all.php?topic='+topic+'&ans'+topic+'='+ans);
}
else{
location.replace('http://10.33.1.11:10088/tyyhr/question_saveall.php?topic='+topic+'&ans='+ans);
}
}
}
function backPage() {
topic = document.frm1.topic.value;
topic--;
location.replace('http://10.33.1.11:10088/tyyhr/question_all.php?topic='+topic);
}
</script>
</head>
<body>
<h4 align='center'><!----></h4>
<img src="img/head.jpg" border ="0" width ="1250" align ="center"><br /><br /><br />
<form action ="question_saveall.php" method ="post" name="frm1">
<table border="0" id="id" align="center" width="600">
<?php
if (!($sql = mysql_query($cmd)))
{
echo "<br /><center><b><font color ='red'>ไม่พบข้อมูล</font></b></center>";//การเช็ค error ของข้อมูลจากการ select ข้อมูล.
echo " <br />error2 = " . mysql_error() . ", " . mysql_errormsg() . " <br />";
echo $cmd;
exit();
}
while($result=mysql_fetch_assoc($sql))
{
?>
<tr>
<?php if($result['QUSTTOPIC']<>0)
{
?>
<td colspan='1'><p class="font1"><?php if($result['QUSTTOPIC']<>0){echo $result['QUSTTOPIC'];}?></p></td><td><p class="font2"> <?php echo $result['QUSTQUSTN'];?></p></td>
<?php
}
else
{
?>
<td colspan='2'><p class="font1"><?php if($result['QUSTTOPIC']<>0){echo $result['QUSTTOPIC'];}?></p><p class="font2"> <?php echo $result['QUSTQUSTN'];?></p></td>
<?php
}
?>
</tr>
<tr>
<td width='15'><font size='5'><input type='radio' name='ans' value="<?php echo $result['QUSTSCOR1'];?>"/></font></td>
<td><font size='5'><?php echo $result['QUSTDSCP1'];?></font></td>
</tr>
<tr>
<td width='15'><font size='5'><input type='radio' name='ans' value="<?php echo $result['QUSTSCOR2'];?>"/></font></td>
<td><font size='5'><?php echo $result['QUSTDSCP2'];?></font></td>
</tr>
<tr>
<td width='15'><font size='5'><input type='radio' name='ans' value="<?php echo $result['QUSTSCOR3'];?>"/></font></td>
<td><font size='5'><?php echo $result['QUSTDSCP3'];?></font></td>
</tr>
<tr>
<td width='15'><font size='5'><input type='radio' name='ans' value="<?php echo $result['QUSTSCOR4'];?>"/></font></td>
<td><font size='5'><?php echo $result['QUSTDSCP4'];?></font></td>
</tr>
<tr>
<td width='15'><font size='5'><input type='radio' name='ans' value="<?php echo $result['QUSTSCOR5'];?>"/></font></td>
<td><font size='5'><?php echo $result['QUSTDSCP5'];?></font></td>
</tr>
<input type="hidden" name="topic" value="<?php echo $topic;?>" />
<tr>
<td colspan='2' align ='center'>
<?php
if($topic>0)
{
?>
<a href='javascript:backPage()'><img border ='0' src='img/back_button.jpg'></a>
<?php
}
if($topic<12)
{
?>
<a href='javascript:beforePost()'><img border ='0' src='img/next_button.jpg' /></a>
<?php
}
else
{
?>
<a href='javascript:beforePost()'><img border ='0' src='img/save2.png' alt='Save' width='50' /></a>
<?php
}
?>
</td>
</tr>
<?php
}
?>
</tr>
</table>
<?php
include("include/close_connect.php");
?>
</form>
<?php
include("question_bar.php");
?>
</body>
</html>
Code ประมาณนี้ค่ะ แต่ยังไม่ได้วนรับค่าคำตอบของแต่ละข้อ
|
ประวัติการแก้ไข 2011-09-28 11:12:42
|
|
|
|
Date :
2011-09-28 10:56:55 |
By :
SuSaya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ต้องวางกระบวนการทำใหม่อ่าครับ
เน้นที่ซ่อน interface เหมือนเดิม เน้นที่ซ่อนเอา เช่น <input "hidden" type="<?php echo $_GET ค่าที่ส่งมา;?>"
แปลออกมาเป็นค่าPost แล้วGET อีกทีทำแบบนี้ (ปวดหัว)
วิธีคิด
ต้องเอากระดาษมาวาง ตามจำนวน ข้อสอบ แล้วทำ ตาราง การทำงาน ลองๆดูๆ
|
|
|
|
|
Date :
2011-09-28 11:04:50 |
By :
romanztic |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณพี่ ๆ ทุกคนนะคะ
ขอไปรื้อโค้ดก่อน
|
|
|
|
|
Date :
2011-09-28 11:52:08 |
By :
SuSaya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|