ลบข้อมูลบางรายการที่เก็บในตัวแปร ไม่ได้ ช่วยแก้โค๊ดให้ด้วยค่ะ
เป็นโค๊ดสร้างแบบทดสอบ นะค่ะ คือมีข้อสอบ อยู่หลายข้อ แต่ต้องการนำข้อสอบไปใช้สอบเฉพาะบางข้อที่เลือกไป ตอนที่เลือกข้อสอบนั้น ข้อสอบที่เลือกถูกเก็บไว้ในตัวแปร ก่อน
$question_id_select[$pointer_array]=$question_id;
session_register("question_id_select");
และก็เลือกข้อสอบหลายข้อ มาเก็บในตัวแปร
$pointer_array++;
session_register("pointer_array");
และข้อสอบทุกข้อที่ถูกเลือกมา ยังไม่มีการบันทึกข้อมูล ก็แสดงว่าเก็บอยู่ในตัวแปร ใช่ไหมค่ะ
ทีนี่ถ้าเราต้องการลบหรือยกเลิกข้อสอบที่อยู่ในตัวแปร บางข้อที่ต้องการยกเลิก ทำอย่างไรค่ะ ถึงจะยกเลิกข้อสอบที่อยู่ในตัวแปร เฉพาะบางข้อได้ ถ้าใช้คำสั่ง
unset($_SESSION['question_id_select']);
unset($_SESSION['pointer_array']);
มันก็จะลบหรือยกเลิก ข้อสอบที่เก็บในตัวแปร ทั้งหมด นะค่ะ **คือต้องการลบหรือยกเลิกข้อสอบเฉพาะบางข้อเท่านั้นค่ะ
ต้องใช้คำสั่งอะไร ค่ะ ช่วยด้วยค่ะ ขอบคุณมากค่ะ
นี่คือภาพที่เก็บข้อสอบไว้ในตัวแปร ค่ะ **ยังไม่ได้บันทึกข้อมูลนะค่ะ
ไฟล์ที่เกี่ยวข้อง
แฟ้ม paper.php
<?
require("includes\chkauth.php");
?>
<html>
<head>
<title>Questions Cart</title>
<?
include("includes\header.inc");
require("includes\dbconnect.php");
require("includes\useronline.php");
include("includes\header2.inc");
?>
Questions Cart
</td>
</tr><tr>
<td class="bodyText"><p><br>
<?
$id = $_GET['question_id'];
if (isset($id)){
if(empty($pointer_array))
{
$pointer_array=0;
}
$question_id_select[$pointer_array]=$question_id;
session_register("question_id_select");
$pointer_array++;
session_register("pointer_array");
echo "Show selected questions<br><br>";
$count = 1;
echo "<table border=\"1\" bordercolor=\"E6F3FF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr height=\"30\" bgcolor=\"E6F3FF\"><th>No.</th><th>Questions</th><th>Subject</th><th>Level</th><th>Year</th><th>Delete</th></tr>";
for($a=0;$a<$pointer_array;$a++)
{
$sql = "select * from question where question_id=$question_id_select[$a]";
$dbquery = mysql_db_query("cat_db", $sql);
$result = mysql_fetch_array($dbquery);
$question_id = $result[question_id];
$question = $result[question];
$subject_id = $result[subject_id];
$level = $result[level];
$year = $result[year];
echo "<tr><td width=\"40\" height=\"30\"><center>";
echo $result['count'];
echo "</center></td><td width=\"350\">";
echo "<a href = \"detail_question.php?question_id=" . $result['question_id'] . "\">";
echo $result['question'];
echo "</a>";
echo "</td><td width=\"70\"><center>";
echo $result['subject_id'];
echo "</center></td><td width=\"60\"><center>";
echo $result['level'];
echo "</center></td><td width=\"100\"><center>";
echo $result['year'];
echo "</center></td><td width=\"60\"><center>";
echo "<a href = \"paper_question_delete.php?question_id=" . $result['question_id'] . "\">";
echo "Delete";
echo "</a>";
echo "</center></td></tr>";
$count ++;
}
echo "</table>";
echo "<br><a href=\"create.php\">Back to select questions</a> || <a href=\"paper_clear.php\">Delete all selected</a> || <a href=\"paper_save.php\">Save</a>";
}
if(empty($id)){
if(empty($question_id_select)){
echo "There're no question in cart.<br>";
echo "<br><a href=\"create.php\">Back</a>";
}
else{
echo "Show selected questions<br><br>";
$count = 1;
echo "<table border=\"1\" bordercolor=\"E6F3FF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr height=\"30\" bgcolor=\"E6F3FF\"><th>No.</th><th>Questions</th><th>Subject</th><th>Level</th><th>Year</th><th>Delete</th></tr>";
for($a=0;$a<$pointer_array;$a++)
{
$sql = "select * from question where question_id=$question_id_select[$a]";
$dbquery = mysql_db_query("cat_db", $sql);
$result = mysql_fetch_array($dbquery);
$question_id = $result[question_id];
$question = $result[question];
$subject_id = $result[subject_id];
$level = $result[level];
$year = $result[year];
echo "<tr><td width=\"40\" height=\"30\"><center>";
echo $result['count'];
echo "</center></td><td width=\"350\">";
echo "<a href = \"detail_question.php?question_id=" . $result['question_id'] . "\">";
echo $result['question'];
echo "</a>";
echo "</td><td width=\"70\"><center>";
echo $result['subject_id'];
echo "</center></td><td width=\"60\"><center>";
echo $result['level'];
echo "</center></td><td width=\"100\"><center>";
echo $result['year'];
echo "</center></td><td width=\"60\"><center>";
echo "<a href = \"paper_question_delete.php?question_id=" . $result['question_id'] . "\">";
echo "Delete";
echo "</a>";
echo "</center></td></tr>";
$count ++;
}
echo "</table>";
echo "<br><a href=\"create.php\">Back to pick a questions</a> || <a href=\"paper_clear.php\">Delete all selected</a> || <a href=\"paper_save.php\">Save</a>";
}
}
mysql_close();
include("includes/footer.inc");
?>
</body>
</html>
แฟ้ม paper_question_delete.php
<?
ob_start();
session_start();
unset($_SESSION['question_id_select']);
unset($_SESSION['pointer_array']);
header('Location:paper.php');
ob_end_flush();
?>
แฟ้ม script.inc
<script language=Javascript>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest(); } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};
//dochange จะถูกเรียกเมื่อมีการเลือก รายการ Combobox ซึ่งจะทำให้ไปเรียก AJAX เพื่อร้องขอข้อมูลถัดไปจาก Server
function dochange(src, val,subject_id,category_id) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
if (req.readyState==4) {
if (req.status==200) {
document.getElementById(src).innerHTML=req.responseText; //รับค่ากลับมา
}
}
};
req.open("GET", "relation.php?data="+src+"&val="+val+"&subject_id="+subject_id+"&category_id="+category_id); //สร้าง connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=tis-620"); // set Header
req.send(null); //ส่งค่า
}
//ฟังก์ชั่นนี้ใช้แสดงผล id ของ Combobox แต่ละตัวที่เลือก
function banchange() {
document.getElementById('result').innerHTML=sel.subject.value+', '+sel.category.value+', '+sel.subcategory.value;
}
//เรียกครั้งแรกไปทำการโหลด กองมาแสดง
window.onLoad=dochange('subject', -1);
</script>Tag : - - - -
Date :
2010-04-03 07:58:27
By :
payom
View :
1606
Reply :
2
ขอดู แฟ้ม paper.php
Date :
2010-04-03 13:55:24
By :
onedan
code และรูปภาพของไฟล์ paper.php ก็ส่งไปให้แล้วนะค่ะ ก็ภาพแรกนะค่ะ Questions cart และ code ก็อยู่ใต้ภาพนะค่ะ และก็จะมีไฟล์ที่แสดง รายการข้อสอบทั้งหมดที่มี ก็คือไฟล์ create.php
ลำดับการเลือกสร้างแบบทดสอบ ดังนี้ ค่ะ เปิดไฟล์ create.php เพื่อเลือกข้อสอบ ไปเก็บไว้ในตัวแปร SESSIONที่ไฟล์ paper.php เก็บเป็น session array มีตัวแปรเก็บข้อสอบได้หลายข้อ
ปัญหาคือถ้าต้องการลบหรือยกเลิก ข้อสอบที่เลือก หรือจะยกเลือกตัวแปรแบบ session array เฉพาะบางตัวหรือบางข้อ จะต้องแก้โค๊ตอย่างไรค่ะ เพราะตอนนี้ มันยกเลิกตัวแปรออกทั้งหมดเลย ไฟล์ที่ยกเลิกตัวแปรค่ะ paper_question_delete.php
นี้เป็นภาพไฟล์ create.php เป็นการแสดงข้อสอบที่มีทั้งหมด
ไฟล์ create.php
<?
require("includes\chkauth.php");
?>
<html>
<head>
<title>Create Paper</title>
<link rel="stylesheet" herf="image/mm_travel2.css" type="text/css">
<?
include("includes\header.inc");
require("includes\dbconnect.php");
require("includes\useronline.php");
include("includes\header2.inc");
$subject_id=$_POST['subject'];
$category_id=$_POST['category'];
$subcategory_id=$_POST['subcategory'];
$level=$_POST['level'];
?>
Create Paper
</td>
</tr><tr>
<td class="bodyText"><p><br>
<?
if (empty($subject_id)){
echo "<form name=sel action='' method=POST>\n";
echo "Subject : <font id=subject><select>\n";
echo "<option value='0'>...................</option> \n" ;
echo "</select>";
echo "</font>\n";
echo "Category : <font id=category><select>\n";
echo "<option value='0'>....................</option> \n" ;
echo "</select></font>\n";
echo "Subcategory : <font id=subcategory><select>\n";
echo "<option value='0'>....................</option> \n" ;
echo "</select></font>\n";
echo "<br>Level : 1<input name=\"level\" type=\"checkbox\" value=\"1\" /> " ;
echo "2<input name=\"level\" type=\"checkbox\" value=\"2\" /> " ;
echo "3<input name=\"level\" type=\"checkbox\" value=\"3\" /> " ;
echo "4<input name=\"level\" type=\"checkbox\" value=\"4\" /> " ;
echo "5<input name=\"level\" type=\"checkbox\" value=\"5\" /> " ;
echo "<br><br><input type=submit value=Search name=submit>";
echo "</form>";
include("includes\script.inc");
?>
<div align="right"><a href="paper.php"><img src="image/qcart.gif" width="20" height="18" border="0">Question Cart</div>
</a>
<hr>
<?
if (!empty($level))
$result = mysql_query("SELECT * FROM question WHERE level LIKE $level AND subject_id LIKE $user");
if (empty($level))
$result = mysql_query("SELECT * FROM question WHERE subject_id LIKE $user");
$count = 1;
echo "<table border=\"1\" bordercolor=\"E6F3FF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr height=\"30\" bgcolor=\"E6F3FF\"><th>No.</th><th>Questions</th><th>Subject</th><th>Level</th><th>Year</th><th>Add</th></tr>";
while($row = mysql_fetch_array( $result ))
{
echo "<tr><td width=\"60\" height=\"30\"><center>";
echo $count;
echo "</center></td><td width=\"800\">";
echo "<a href = \"detail_question.php?question_id=" . $row['question_id'] . "\">";
echo $row['question'];
echo "</a>";
echo "</td><td width=\"70\"><center>";
echo $row['subject_id'];
echo "</center></td><td width=\"100\"><center>";
echo $row['level'];
echo "</center></td><td width=\"100\"><center>";
echo $row['year'];
echo "</center></td><td width=\"100\"><center>";
echo "<a href = \"paper.php?question_id=" . $row['question_id'] . "\">";
echo "Add";
echo "</a>";
echo "</center></td></tr>";
$count ++;
}
echo "</table>";
}
else {
echo "<form name=sel action='' method=POST>\n";
echo "Subject : <font id=subject><select>\n";
echo "<option value='0'>....................</option> \n" ;
echo "</select>";
echo "</font>\n";
echo "Category : <font id=category><select>\n";
echo "<option value='0'>....................</option> \n" ;
echo "</select></font>\n";
echo "Subcategory : <font id=subcategory><select>\n";
echo "<option value='0'>....................</option> \n" ;
echo "</select></font>\n";
echo "<br>Level : 1<input name=\"level\" type=\"checkbox\" value=\"1\" /> " ;
echo "2<input name=\"level\" type=\"checkbox\" value=\"2\" /> " ;
echo "3<input name=\"level\" type=\"checkbox\" value=\"3\" /> " ;
echo "4<input name=\"level\" type=\"checkbox\" value=\"4\" /> " ;
echo "5<input name=\"level\" type=\"checkbox\" value=\"5\" /> " ;
echo "<br><br><input type=submit value=Search name=submit>";
echo "</form>\n";
include("includes\script.inc"); ?>
<div align="right"><a href="paper.php"><img src="image/qcart.gif" width="20" height="18" border="0">Question Cart</div>
</a>
<hr>
<?
if (!empty($level)){
if (!empty($subject_id))
$result = mysql_query("SELECT * FROM question WHERE subject_id = $user AND subject_id = $subject_id AND level LIKE $level");
if (!empty($category_id) AND empty($subcategory_id))
$result = mysql_query("SELECT * FROM question WHERE subject_id = $user AND subject_id = $subject_id AND category_id = $category_id AND level LIKE $level");
if (!empty($category_id) AND !empty($subcategory_id))
$result = mysql_query("SELECT * FROM question WHERE subject_id = $user AND subject_id = $subject_id AND category_id = $category_id AND subcategory_id = $subcategory_id AND level LIKE $level");
}
if (empty($level)){
if (!empty($subject_id))
$result = mysql_query("SELECT * FROM question WHERE subject_id = $user AND subject_id = $subject_id");
if (!empty($category_id) AND empty($subcategory_id))
$result = mysql_query("SELECT * FROM question WHERE subject_id = $user AND subject_id = $subject_id AND category_id = $category_id");
if (!empty($category_id) AND !empty($subcategory_id))
$result = mysql_query("SELECT * FROM question WHERE subject_id = $user AND subject_id = $subject_id AND category_id = $category_id AND subcategory_id = $subcategory_id");
}
echo "<table border=\"1\" bordercolor=\"E6F3FF\" cellspacing=\"0\" cellpadding=\"0\">";
echo "<tr height=\"30\" bgcolor=\"E6F3FF\"><th>No.</th><th>Questions</th><th>Subject</th><th>Level</th><th>Year</th><th>Add</th></tr>";
$count = 1;
while($row = mysql_fetch_array( $result ))
{
echo "<tr><td width=\"40\" height=\"30\"><center>";
echo $count;
echo "</center></td><td width=\"400\">";
echo "<a href = \"detail_question.php?question_id=" . $row['question_id'] . "\">";
echo $row['question'];
echo "</a>";
echo "</td><td width=\"70\"><center>";
echo $row['subject_id'];
echo "</center></td><td width=\"100\"><center>";
echo $row['level'];
echo "</center></td><td width=\"100\"><center>";
echo $row['year'];
echo "</center></td><td width=\"100\"><center>";
echo "<a href = \"paper.php?question_id=" . $row['question_id'] . "\">";
echo "Add";
echo "</a>";
echo "</center></td></tr>";
$count ++;
}
echo "</table>";
}
include("includes/footer.inc");
?>
</body>
</html>
Date :
2010-04-03 18:22:05
By :
payom
Load balance : Server 03