需要PHP脚本和Mysql方面的帮助吗
请帮我做这个: 我正在为管理员创建一个调查工具。向管理员询问调查中的问题数量。在此基础上,在包含测量信息的表中创建一行。根据问题数量,在问题表中创建相同数量的行。这有4列答案,每个问题id对应的行数在问题表中创建 现在,我尝试在UI上提供一个由循环控制的表单,这样管理员可以逐个输入问题和答案,并且每次都会更新问题表需要PHP脚本和Mysql方面的帮助吗,php,mysql,Php,Mysql,请帮我做这个: 我正在为管理员创建一个调查工具。向管理员询问调查中的问题数量。在此基础上,在包含测量信息的表中创建一行。根据问题数量,在问题表中创建相同数量的行。这有4列答案,每个问题id对应的行数在问题表中创建 现在,我尝试在UI上提供一个由循环控制的表单,这样管理员可以逐个输入问题和答案,并且每次都会更新问题表 survey table (sur_id [auto increment column],sur_subject,Sur_frm_dt,sur_to_dt,sur_is_activ
survey table (sur_id [auto increment column],sur_subject,Sur_frm_dt,sur_to_dt,sur_is_active)
question table ( sur_id, q_id [auto increment column] , q_txt,ans1,ans2,ans3,ans4)
该页面要求提供调查详情:调查主题、日期和问题数量
并在调查表中生成一行。创建的调查id和问题数将传递到“创建问题”页面$sid
是调查id,$noq是问题数量
代码如下。请不要介意新手的逻辑和脚本:
$sid = intval ($_GET['ids']);
$noq = intval ($_GET['qn']);
for($noq !=0;$noq >=1;$noq--)
{
$q = "insert into sur_ques (sur_id) values ('$sid')";
$ex = mysql_query($q);
$rs = mysql_affected_rows();
if($rs ==1)
{
echo" Questions Rows Created Corresponding to Survey Subject";
}
?>
<form name="form1" method="post" action="<?php echo($PHP_SELF); ?>">
<table width="500" border="0" cellspacing="1" cellpadding="0">
<tr><br><b>Ques No-<?php echo"$noq";?></b></tr><br>
<tr><textarea name = "q" rows ="10" cols = "70" wrap = "hard" ></textarea></tr><br>
<tr><td><b>Ans 1:</b></td><td><input type="text" name="a1" size="37" /></td></tr>
<tr><td><b>Ans 2:</b></td><td><input type="text" name="a2" size="37" /></td></tr>
<tr><td><b>Ans 3:</b></td><td><input type="text" name="a3" size="37" /></td></tr>
<tr><td><b>Ans 4:</b></td><td><input type="text" name="a4" size="37" /></td></tr>
</table>
<input type = "submit" name="qa" Value = "Add Q&A" />
<input type ="reset" Value="Reset" />
</form>
<?
if ($_POST['qa'])
{
$id = mysql_insert_id();
$result = mysql_query("update ques set q_txt = '$q', ans1 = '$a1' ans2 = '$a2' ans4 = '$a4' ans4 = '$a4' where q_id = '$id'");
if($r = mysql_num_rows($result))
{
echo" Question and answers updated";
}
}
else
{
break;
}
}
?>
$sid=intval($\u GET['id']);
$noq=intval($_GET['qn']);
对于($noq!=0;$noq>=1;$noq--)
{
$q=“插入sur_ques(sur_id)值(“$sid”)”;
$ex=mysql\u查询($q);
$rs=mysql_受影响的_行();
如果($rs==1)
{
回显“与调查主题相对应创建的问题行”;
}
?>
我能从您的代码中看到的一个直接问题是,您在for循环中使用了一个比较运算符,它应该是赋值运算符$noq!=0
应该是$noq=0
或其他一些值–Trevor 0秒前我认为您混淆了服务器端和客户端。您发布的代码在有人打开页面的那一刻
如果您希望在访问者按下submit按钮时更新单个问题,则需要使用ajax将特定表单的信息发送到服务器进行处理,而表单保持不变/不重新加载
现在的情况是,每次打开页面时,都会根据GET
变量添加新行,但不会更新任何行,因为您从未发布,我看不到任何地方定义了$PHP\u SELF
,但我想您的意思是/want$\u SERVER['PHP\u SELF']
使用代码格式工具包装您的代码。这将使您的代码更易于阅读。@kush欢迎使用SO!您不需要要求我们帮助您解决问题,例如:
请帮助我:。我们理解,如果您发布问题,您需要帮助。这些短语只会把问题弄得一团糟。好吧,行是我的在数据库中插入$noq!=0。在for循环之前运行if语句,然后检查$noq!=0。如果它不等于零,则只使用$noq变量作为循环的起始值。