dst2017 2012-06-05 21:34
浏览 56
已采纳

处理由动态php / mySql安装程序创建的表单

I run a script to create an order form, this is just a really small sample. I'm not so good with PHP and dynamic forms. It pulls data from mysql database.

<td>
<h3>Round Cuts</h3>
<?php while($row = mysql_fetch_array($round_cuts)){
$round_box_value = @$row["meat_names"];
$round_box_value_name = @$row["meat_names"];
echo " <input type=\"checkbox\" name=\"round_box_value\" value=\"$round_box_value_name\">     $round_box_value_name";
echo "<br>";
}?>
</td>

I've ever really only built basic contact forms, how could I process a dynamic form like this. If all else fails I would just take all the possible elements and program this like it was a not dynamic. There must be a better way though.

Even a link to a website would be helpful. I've been searching for a solution. Thanks.

  • 写回答

1条回答 默认 最新

  • dpgbh20688 2012-06-05 21:46
    关注

    I'll assume your table as a primary key of id

    Start off with a minor change to your checkboxes:

    <?php 
    while($row = mysql_fetch_array($round_cuts)){
      echo sprintf('<label><input type="checkbox" name="round_box_value[]" value="%s"> %s</label><br>', $row['id'], $row['meat_names']);
    }
    ?>
    

    The name now has an [] at the end to tell php it's an array of values + I've wrapped the checkbox in a label for convenience.

    Then when you process the form, you can simply iterate through round_box_value like so

    <?php
    foreach ($_POST['round_box_value'] as $id) {
      // $id is the table reference from your previous table
    }
    
    // or query all the rows selected
    $ids = array_map('intval', $_POST['round_box_value']); // "basic" sql injection handler
    $sql = "SELECT * FROM table WHERE id IN (".implode(",", $ids).")";
    

    should produce something like:

    SELECT * FROM table WHERE id IN (2,5,7)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能