PDA

View Full Version : ذخیره کردن تغییرات در radio فرمها در همان لحظه در بانک اطلاعاتی



messina
پنج شنبه 19 شهریور 1388, 23:48 عصر
برای ساخت آزمون یک مشکل دارم و اون اینه که وقتی روی یک گزینه کاربر کلیک می کند چگونه ان را همان لحظه در بانک ذخیره کنم؟
لطفا کمکم کنید.

messina
پنج شنبه 19 شهریور 1388, 23:51 عصر
من از دستور onclick getdata استفاده کردم ولی هیچ اتفاقی نمی افتد!!
برنامه ام را ضمیمه می کنم لطفا نگاهی بیاندازید

amirhosein
جمعه 20 شهریور 1388, 11:52 صبح
از ايجكس بايد استفاده كنيد.

mostafa_shaeri_tj
جمعه 20 شهریور 1388, 17:22 عصر
می بایست در رویداد onclick رادیو باکس تابع آجاکس رو فراخونی کنید. حتما هم روی کنار رادیو یه چیزی یزارید که نشون بده اطلاعات ثبت شده.
در ضمن اگر بعد از رادیو باکس هم فیلد یا چیز دیگه ای داری که محتویاتش باید وارد بانک شه یه مقدار پیچیده تر میشه.

zamanphp
شنبه 21 شهریور 1388, 00:33 صبح
برای ساخت آزمون یک مشکل دارم و اون اینه که وقتی روی یک گزینه کاربر کلیک می کند چگونه ان را همان لحظه در بانک ذخیره کنم؟
لطفا کمکم کنید.
چند روز پیش که از طریق آقای آخوندی باهام تماس گرفتید بهتون گفتم باید از ajax استفاده کنید ولی چون تازه کار هستید گفتید که بلد نیستید. بهتره قید این روش رو بزنید و از یه روش دیگه استفاده کنید

در ضمن من سال 84 برای یکی از دانشجویان که پروژه اش آزمون اینترنتی بود یه برنامه نوشتم اگه بخواین می تونم برنامه رو بهتون بدم.

messina
شنبه 21 شهریور 1388, 01:50 صبح
من برنام ام را ضمیمه کرده ام اگر امکان دارد نگاه بیندازید ببینید مشکل از کجاست؟لطفا.

sama01
شنبه 21 شهریور 1388, 02:01 صبح
کدها را در تگ کد قرار دهید. این طوری خیلی زشته.

messina
شنبه 21 شهریور 1388, 02:11 صبح
اینم صفحاتی که نوشتم اما کار نمی کنه نمیدونم چرا ؟
(برنامه شامل 3 صفحه می باشد.)
صفحه اول :(یک فایل html است که radio فرم ها را می سازد.)




<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>select1&nbsp; select2&nbsp; select3&nbsp; selec</title>
</head>
<body>
select1
<input type="radio" value="V1" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=1', 'targetDiv')"><br>
select2
<input type="radio" value="V2" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=2', 'targetDiv')"><br>
select3
<input type="radio" value="V3" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=3', 'targetDiv')"><br>
select4
<input type="radio" value="V4" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=4', 'targetDiv')">
<div align = "left">
select5
<input type="radio" value="V5" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=0', 'targetDiv')">
<p ID="targetDiv"></p>
</body>
</html>



صفحه دوم (که داده ها به ان ارسال می شود) insert.php



<?php
$num_test=$_REQUEST["num_test"];
$stu_answer=$_REQUEST["stu_answer"];
if (strlen($num_test) == 0)
{
echo "Go back & fill all feilds";}
$db = mysql_connect("localhost", "root", "");
if(!$db)
{
echo 'Error : Cannot connect to MySQL server.';
exit;
}
mysql_select_db('test2');
$query = " update test set stu_answer ='$stu_answer' where num_test='$num_test'";
$result = mysql_query($query);
if(!$result)
echo "<b> Erorr.</b>";
?>


صفحه سوم :این کدها بانک مورد نیاز را ایجاد میکند.



<?php
$db = mysql_connect("localhost", "root", "");
if(!$db)
{
echo 'Error : Cannot connect to MySQL server.';
exit;
}
$query = mysql_query(" create database test2;");
if(!$query)
echo "<center>database was not bult.</center>";
mysql_select_db('test2');
$query = mysql_query("create table if not exists test (
num_test int default '0',
stu_answer int default '0',
true_answer int default '0',
result char(1) default 'n'
);");
if(!$query)
echo "<center>table was not bult.</center>";
?>

zamanphp
شنبه 21 شهریور 1388, 05:25 صبح
پس فاکنشن جاوااسکریپتت با نام getData کدش کجاست؟

messina
شنبه 21 شهریور 1388, 15:34 عصر
من ایجکس اصلا سرم نمی شه ولی باید این برنامه را انجام دهم
کد onclick (getdata رو هم از جایی کش رفتم فکر می کردم getdata خودش یک دستور است.
فانکشن getdata رو هم پیدا کردم که در زیر قرار میدم.تو برنامه کپی پیست کردم که نتیجه ای نگرفتم.نمی دونم اصلا باید چی کارشون کنم .
در هر صورت مجبورم این پروجه رو انجام بدم .
اگه می شه همین کد رو تکمیل کنین در غیر این صورت از یک روش دیگه راهنماییم کنین تا انجام بدم اگه فکر می کنید نمی تونم خواهشن خودتون برام کدشو بنویسین.
با تشکر مجید.



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>select1&nbsp; select2&nbsp; select3&nbsp; selec</title>
<script language="javascript">
var XMLHttpRequestObject = false;

function getData(dataSource, divID)
{
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
select1
<input type="radio" value="V1" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=1', 'targetDiv')"><br>
select2
<input type="radio" value="V2" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=2', 'targetDiv')"><br>
select3
<input type="radio" value="V3" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=3', 'targetDiv')"><br>
select4
<input type="radio" value="V4" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=4', 'targetDiv')">
<div align = "left">
select5
<input type="radio" value="V5" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=0', 'targetDiv')">
<p ID="targetDiv"></p>
</body>
</html>

messina
شنبه 21 شهریور 1388, 21:46 عصر
یکی یه چیزی بگه مردم از بس منتظر موندم.

s_salavati2002
شنبه 21 شهریور 1388, 22:13 عصر
یکی یه چیزی بگه مردم از بس منتظر موندم.


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>select1&nbsp; select2&nbsp; select3&nbsp; selec</title>
<script language="javascript">
var XMLHttpRequestObject = false;
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}

function getData(dataSource, divID)
{
XMLHttpRequestObject=GetXmlHttpObject();
if(XMLHttpRequestObject) {
var obj = document.getElementById(divID);
XMLHttpRequestObject.open("GET", dataSource);
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
obj.innerHTML = XMLHttpRequestObject.responseText;
}
}
XMLHttpRequestObject.send(null);
}
}
</script>
</head>
<body>
select1
<input type="radio" value="V1" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=1', 'targetDiv')"><br>
select2
<input type="radio" value="V2" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=2', 'targetDiv')"><br>
select3
<input type="radio" value="V3" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=3', 'targetDiv')"><br>
select4
<input type="radio" value="V4" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=4', 'targetDiv')">
<div align = "left">
select5
<input type="radio" value="V5" name= "select"
onclick = "getData('insert.php?num_test=25&stu_answer=0', 'targetDiv')">
<p ID="targetDiv"></p>
</body>
</html>

messina
شنبه 21 شهریور 1388, 23:44 عصر
s_salavati2002
s_salavati2002
s_salavati2002
هزاران بار تشکر
شاید کم باشد حتما کم است
نمی دونم چه جوری ازت تشکر کنم فقط می تونم اگه قابل باشم تو این شب نورانی برات از ته قلب دعا کنم.
باز هم تشکر
مجید

ardash
پنج شنبه 22 اسفند 1392, 01:12 صبح
[QUOTE=s_salavati2002;803910][HTML]
با سلام خدمت دوست گرامی
من با همان تابع ajax به صفحه natijeh.php اطلاعاع را فرستاده ام
ولی در صفحه مذکور ارور Undefined index: code in C:\wamp\www\azemon\admin\natijeh.php on line 19را می دهد وهمچنین به radif و answer هم همین ارور را می دهد

خواهش میکنم اشکال کار من را بفرمائید

$code=$_REQUEST["code"];
$radif=$_REQUEST["radif"];
$user_choice=$_REQUEST["answer"];
$x1="1";
$x2="2";
$x3="3";
$x4="4"; /***********/
switch($user_choice){
case "1":
{ $sql_choice="UPDATE choice SET user_choice='$x1' WHERE radif='$radif' and code='$code' ";
$res_choice=mysql_query($sql_choice,$db) or die(mysql_error());break;}
case "2":
{ $sql_choice="UPDATE choice SET user_choice='$x2' WHERE radif='$radif' and code='$code' ";
$res_choice=mysql_query($sql_choice,$db) or die(mysql_error());break;}
case "3":
{ $sql_choice="UPDATE choice SET user_choice='$x3' WHERE radif='$radif' and code='$code' ";
$res_choice=mysql_query($sql_choice,$db) or die(mysql_error());break;}
case "4":
{ $sql_choice="UPDATE choice SET user_choice='$x4' WHERE radif='$radif' and code='$code' ";
$res_choice=mysql_query($sql_choice,$db) or die(mysql_error());break;}
}

در ضمن با چه دستوری میتوانم از صفحه قبلی همان صفحه آزمون کلا خارج شوم در حقیقت پاک شود من شش ماه است روی این پروژه کار میکنم خیلی وقت کم دارم خواهش میکنم کمکم کنید

ardash
جمعه 23 اسفند 1392, 22:28 عصر
با سلام
خواهش میکنم یک نفر جواب بدهد یک دنیا ممنون