【问题标题】:Dynamic attribute and value save to database动态属性和值保存到数据库
【发布时间】:2017-07-06 05:36:01
【问题描述】:

我有一个像这样的数据库表:

标识 |标题 |网址

我有一个像截图一样的表格......

我试过这样

<div class="col-md-6">
  <input type="text" class="form-control " style="border-radius: 0px;" placeholder="Tittle" id="slider" name="title[]">
</div>
<div class="col-md-6">
  <input type="text" class="form-control col-md-6" style="border-radius: 0px;" placeholder="Link" id="slider" name="url[]">
</div>

而提交结果是:

Array
(
    [0] => Array
        (
            [title] => test1
        )

    [1] => Array
        (
            [url] => #1
        )

    [2] => Array
        (
            [title] => test2
        )

    [3] => Array
        (
            [url] => #2
        )

    [4] => Array
        (
            [title] =>title3
        )

    [5] => Array
        (
            [url] => #3
        )

)

问题是我无法过滤title1的url,title2的url等等。

有没有办法得到像这个数组一样的结果?

Array
(
    [0] => Array
        (
            [title] => test1,
            [url] => #1

        )

    [1] => Array
        (
            [title] => test2,
            [url] => #2
        )

    [2] => Array
        (
            [title] => test3,
            [url] => #3
        )


  )

【问题讨论】:

  • 这很简单——你试过什么?你遇到了什么问题?
  • 没有 php/mysql 支持这个问题。这使得它不清楚/太宽泛。
  • 我的问题是我无法获取每个标题的值.. 因为这些值是在数组中发送的,而不是指定该值是哪个标题的索引
  • 检查我更新的问题.. 谢谢

标签: php mysql codeigniter codeigniter-3


【解决方案1】:

每个字段的名称应以[]结尾,例如

<input type="text" class="form-control " style="border-radius: 0px;" placeholder="Tittle" id="slider" name="titles[name][]">

这将使它们在您的 PHP 脚本中的数组中可用,然后您可以对其进行迭代,形成您的查询。

  $Q = 'insert into mytable (name, value) values ';
  $V = [];

  foreach ($titles as $idx => $title) {
    $V[] = "('".$title['name']."','".$title['value']."')";
  }
  $Q.= implode(',', $V);

[编辑]

好的,让你的字段看起来像这样

<INPUT TYPE=TEXT NAME="data[title][]">
<INPUT TYPE=TEXT NAME="data[url][]">

然后输出它,看看你得到了什么,上面的 PHP 代码应该可以帮助你形成你的查询。

【讨论】:

  • 好的,在我写答案的时候你改变了你的字段名,但主要是用[]结束你的字段名,我想你能明白。
  • 谢谢您的回复.. 你能检查我更新的问题吗??
  • 我正在尝试与两个字段 url 和 title 建立关系
  • 感谢您的帮助,我已经解决了我的问题...这帮助了很多
猜你喜欢
  • 1970-01-01
  • 2017-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-30
  • 1970-01-01
  • 2016-06-06
  • 1970-01-01
相关资源
最近更新 更多