2010-02-27 39 views
1

我有一些PHP代码确实对我产生了负面影响。为了简化,我有一个表,其中三列是外键(event_type,accommodation_type和public_user)。我正在动态创建一组单选按钮,并且已正确设置每个输入值的ID属性。在php中处理单选按钮阵列

     $result2 = mysql_query("SELECT * FROM event_type", $connection); 
         if(!$result2){ 
          die("Database query failed: " . mysql_error()); 
         } 
         $event = mysql_fetch_array($result2); 

        echo "<input type='radio' name='event_type' value='"; 
        echo $event["id"]; 
        echo "' >&nbsp;&nbsp;"; 
        echo $event['name']; 
        echo "</input><br /><br />";$result4 = mysql_query("SELECT * FROM accommodation_type", $connection); 

         if(!$result4){ 
          die("Database query failed: " . mysql_error()); 
         } 
         while($row = mysql_fetch_array($result4)){ 
          if($row["id"] == 7 || $row["id"] == 8){ 
          echo"<tr><td>"; 
          echo $row["name"] ; 
          echo"</td><td>$"; 
          echo $row["price"]; 
          echo ".00</td><td>"; 
          echo "<input type='radio' name='accommodation_type' value='"; 
      echo $row["id"]; 
          echo "' />"; 
          echo "</td></tr>"; 
          } 
         } 

我从查询中检索到正确的ID。因此,提交与POST表单后,我继续做一些小的验证和从我的后坦然的名称如下:

$event_type = trim(mysql_prep($_POST['event_type'])); 
    $accommodation_type= trim(mysql_prep($_POST['accommodation_type'])); 
    $public_user = trim(mysql_prep($_POST['public_user'])); 
    $comments = trim(mysql_prep($_POST['comments'])); 
    $grand_total = trim(mysql_prep($_POST['grand_total'])); 

我接着就写insert语句将这些数据插入到相关表格。这需要两个查询如下。

 $query = "INSERT INTO event_registration (event_type, accommodation_type, public_user, comments, grand_total) VALUES ('{$event_type}','{$accommodation_type}','{$public_user}','{$comments}','{$grand_total}')"; 
     $query1 = "INSERT INTO additional_member (first_name, last_name, gender, age_group, public_user) VALUES ('{$first_name}','{$last_name}','{$gender}','{$age_group}','{$public_user}')"; 
     $result = mysql_query($query, $connection); 
     $result1 = mysql_query($query1, $connection); 

query1按预期工作,但第一个查询无法插入数据。它说我在我的线上有未定义的指数

$event_type = trim(mysql_prep($_POST['event_type'])); 
    $accommodation_type= trim(mysql_prep($_POST['accommodation_type'])); 

我不完全确定事情出错的地方。一切似乎都已正确设置,并且表单中的数据只是拒绝保存。

任何想法?

回答

2

为什么不尝试从头开始审查代码,看看是否有任何语法错误,然后继续前进。

+0

语法错误,流量控制一直困扰着代码。我们审查了代码,并从头开始重建它,现在它按预期工作。 – Binaryrespawn 2010-02-27 08:34:47

0

你正在创建的住宿类型

echo "<input type='radio' name='accommodation_type' value='"; 
     echo $row["id"]; 

但没有呼应event_type任何地方。尝试回显:

echo "<input type='radio' name='accommodation_type' value='"; 
     echo $row["id"]; 

echo "<input type='radio' name='event_type' value='"; 
     echo $row["whatever"]; 
+0

对不起忽略此零件,我已编辑上述问题以包含此零件。它已经完成并且错误持续存在。 亲切的问候。 – Binaryrespawn 2010-02-27 05:38:37

+0

你可以粘贴你收到的错误吗? – Sarfraz 2010-02-27 05:41:50

+0

现在我可以推荐几件事情:确保还有一个FORM标签包含这些输入,其次确保您使用适当的表单数组,例如$ _POST,以查看您在FORM属性中定义的内容。 – Sarfraz 2010-02-27 05:53:45