【问题标题】:store form values in database将表单值存储在数据库中
【发布时间】:2012-05-02 18:35:04
【问题描述】:

我有一个表单,其中我使用二维数组作为字段名称。字段名称如下

我的表单[消息][]

我的表单[名称][]

我的表单[添加][]

这意味着有三个数组。每个数组里面都有数组。当我在输入值并提交后对我的表单进行 var_dump 时。我得到了下面的二维数组结构。

array
  ''message'' => 
    array
      0 => string 'adnan' (length=5)
      1 => string 'khan' (length=4)
      2 => string 'salman' (length=6)
  ''name'' => 
    array
      0 => string 'khan' (length=4)
      1 => string 'kamran' (length=6)
      2 => string 'khan' (length=4)
  ''add'' => 
    array
      0 => string 'asad' (length=4)
      1 => string 'khan' (length=4)
      2 => string 'abrar' (length=5)

正如您所看到的关联数组。我想将消息、名称和添加的值存储在一个数据库表中,该表具有三个字段来存储消息、名称和添加字段的值,方法是使用类似的循环在单个查询中前锋。 当我使用此代码时

foreach($_REQUEST['myform'] as $val)
 foreach($val as $v)

  {
    echo $v;
  }

我得到了数组的所有值。但我想我无法将它保存到数据库表中

因为所有的值都在变量$v中。如何将消息存储在消息字段中,名称在名称字段中并添加到数据库表中的添加字段中。

请指教。谢谢

【问题讨论】:

    标签: php


    【解决方案1】:
    foreach($_REQUEST['myform'] as $field=>$val)
     // $field is the key
     foreach($val as $v)
    
      {
        echo $field . ' ' . $v;
      }
    

    这将为您提供要使用的字段名称。我假设您已经知道如何将条目插入数据库。

    【讨论】:

      【解决方案2】:

      首先确保消息、名称和添加数组的长度相等,然后您可以使用此代码访问所有值:

      foreach($_REQUEST['myform'] as $val)
      {
          for($i=0;$i<count($val['message']);$i++){
              echo $val['message'][$i].'<br/>';
              echo $val['name'][$i].'<br/>';
              echo $val['add'][$i].'<br/>';
          }
      }
      

      【讨论】:

      • 感谢您的回复...但是使用此代码会发出警告:未定义索引:消息
      猜你喜欢
      • 2013-08-14
      • 2016-01-21
      • 2013-08-04
      • 1970-01-01
      • 2016-09-15
      • 1970-01-01
      • 2021-10-11
      • 2014-07-21
      相关资源
      最近更新 更多