一个表单里面有N个radio和textarea,name为英文+变量,请教大家如何取得它们的值并插入数据库中?$sql="select * from isorder_details where ISOID=$ISOID";
$result=mysql_query($sql) or die($sql);
while($row=mysql_fetch_array($result))
{
  $ad=$row[isorderDetailsID];<<<HTML
<form id="rateForm" name="rateForm" method="POST">
    <tr>
      <td height="27" colspan="2"  background="../image/b2b/line_bg2.gif"></td>
    </tr>
    <tr>
      <td width="6%" height="40" bgcolor="#F6FAFE">&nbsp;</td>
      <td width="94%" height="40" bgcolor="#F6FAFE" >$s_language[ProductRatings]:
        <input type="radio" name="rate$ad" id="radio15" value="1" style='border:0px'/>
        好評   
        <input type="radio" name="rate$ad" id="radio16" value="0" style='border:0px'/>
        中評   
        <input type="radio" name="rate$ad" id="radio17" value="-1" style='border:0px'/>
        差評
      </td>
    </tr>
    <tr>
      <td height="80" colspan="2" bgcolor="#F6FAFE"><div align="center">
          <textarea name="txtContent$ad" id="textarea$ad" cols="80" rows="10"></textarea>
        </div></td>
    </tr>
HTML;  if($save){
$sql="insert into product_comment(productID,rate,content,staffID,recordDate,companyID)values(";
$sql.="'$productID',$rate,'".$txtContent."','$s_staffID',NOW(),'$companyID')";
mysql_query($sql);
  }}<<<HTML          <tr>
            <td width="74%" height="40">&nbsp;
              <input type='hidden' name='save' value='save'></td>
            <td width="12%"><img src="../image/b2b/ebix_btn17.jpg" style='cursor:pointer' name='dosend'  width="63" height="36" border="0" onclick="submit()"/></td>
            </tr>
        </table></td>
    </tr>
  </form>
</table></td>
</tr>
HTML;代码大概是这样的...先谢谢大家了!

解决方案 »

  1.   


    $sql="insert into product_comment(productID,rate,content,staffID,recordDate,companyID)values('".$productID."','".$rate."','".$txtContent."','".$s_staffID."',NOW(),'".$companyID."')";插入时字符型的要加引号,数字型的可以不加引号,但加引号也可以,所以我在不知道数据类型的情况下,就给都加上了引号。
      

  2.   

    $sql="insert into product_comment(productID,rate,content,staffID,recordDate,companyID)values(";
    $sql.="'$productID',$rate,'".$txtContent."','$s_staffID',NOW(),'$companyID')";
    在sql中只要把要获取的值用 $_POST['name']取得就OK吧,我也不是很懂,期待高手~~~
      

  3.   

    SQL语句貌似没什么问题,现在的主要问题是如何取得radio和textarea的变量值
      

  4.   

    多一个隐藏input 保存你while的次数
    提交页 取这个隐藏input 循环取值
      

  5.   

    把name名全部变数组$ad是他们的KEY比如<<<HTML
    <form id="rateForm" name="rateForm" method="POST">
      <tr>
      <td height="27" colspan="2" background="../image/b2b/line_bg2.gif"></td>
      </tr>
      <tr>
      <td width="6%" height="40" bgcolor="#F6FAFE">&nbsp;</td>
      <td width="94%" height="40" bgcolor="#F6FAFE" >$s_language[ProductRatings]:
      <input type="radio" name="rate[{$ad}]" id="radio15" value="1" style='border:0px'/>
      好評   
      <input type="radio" name="rate[{$ad}]" id="radio16" value="0" style='border:0px'/>
      中評   
      <input type="radio" name="rate[{$ad}]" id="radio17" value="-1" style='border:0px'/>
      差評
      </td>
      </tr>
      <tr>
      <td height="80" colspan="2" bgcolor="#F6FAFE"><div align="center">
      <textarea name="rate[{$ad}]" id="rate[{$ad}]" cols="80" rows="10"></textarea>
      </div></td>
      </tr>
    HTML;
      

  6.   

    $array=$_POST['rate'];
    print_r($array);echo $array[$ad];
      

  7.   


    主要有两个关键点:1. 怎么遍历页面上的HTML控件元素的值;2. 怎么写入数据库。其实关键还是在第1点,建议使用JAVASCRIPT来实现遍历:
    利用JavaScript遍历HTML元素方法
    function htmlload()
        {
            //如果使用var oSel = document.getElementsByTagName(*); 就是获取页面所有元素
            var oSel = document.getElementsByTagName('select');//select 可以是其他的tag标记
            for( i = 0; i< oSel.length; i++ )
            {
                oSel[i].id; //就可以获得所有select控件的id,其他的可以自己扩展~
            }
        }
      

  8.   

     JavaScript遍历html元素属性 收藏
    某些时候我们需要遍历控件对象的属性,可以如下操作.            var e=document.createElement("input");
                e.id="txtID";
                e.type="text";
                var s="";
                var n=0;
                for(var key in e)
                {
                    if(n%8==0){s+=key+"="+e[key]+"\r\n";n++}
                    else{s+=key+"="+e[key]+";  ";n++}
                }
                alert(s);对于一些控件某些属性不能够通过htmlElement [key]访问.访问会包Automation错误例如type="image"的时候.这时候也许那些让我们出错的属性我们并不需要.所有我们可以用try{}cath(){}跳过如下                   var e=document.createElement("input");
                e.id="txtID";
                e.type="image";
                var s="";
                var n=0;
                for(var key in e)
                {
                    try{
                            if(n%8==0)
                            {
                                s+=key+"="+e[key]+"\r\n";n++;
                            }
                            else
                            {
                                s+=key+"="+e[key]+";  ";n++;
                            }
                     }catch(e)
                     {
                        s+=key+"="+"错误的属性;";
                     }
                }
                alert(s);