需要PHP脚本和Mysql方面的帮助吗

需要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

请帮我做这个:

我正在为管理员创建一个调查工具。向管理员询问调查中的问题数量。在此基础上,在包含测量信息的表中创建一行。根据问题数量,在问题表中创建相同数量的行。这有4列答案,每个问题id对应的行数在问题表中创建

现在,我尝试在UI上提供一个由循环控制的表单,这样管理员可以逐个输入问题和答案,并且每次都会更新问题表

 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变量作为循环的起始值。