【问题标题】:Php insert to mysql variable values from inputsphp从输入插入mysql变量值
【发布时间】:2019-11-27 17:53:50
【问题描述】:

如何添加到 mysql 例如4 个字段和另一个时间,例如120个字段?我的意思是我有创建输入的脚本,我想将它添加到mysql,但是在mysql中我只能添加我设置的尽可能多的值。

例如:id,name,1,2,3 但我希望这些值不限于 1 条记录。

例如:在创建输入的脚本中设置id,name,1,2,3,...,2000

<form method="POST" action="api.php">
  <input type="text" name="name[]" class="admininput">
  <input type="text" name="image[]" class="admininput">
  <input type="hidden" name="movie[]" value="0" class="admininput">
  <input type="text" name="seasioncount[]" class="admininput"> 
  <div class="inputs">
    <input type="text" name="sectioncount[]" class="admininput">        
    <button class="add_form_field">Add New Field &nbsp; <span style="font-size:16px; font-weight:bold;">+ </span></button>
  </div>
  <input type="submit" name="submit" class="button" value="submit"/>
</form>
<script>
$(document).ready(function() {
    var max_fields      = 1000;
    var wrapper         = $(".inputs"); 
    var add_button      = $(".add_form_field"); 

    var x = 1; 
    $(add_button).click(function(e){ 
        e.preventDefault();
        if(x < max_fields){ 
            x++; 
            $(wrapper).append('<div><input type="text" name="serial[]" class="admininput""/><a href="#" class="delete">Delete</a></div>'); //add input box
        }
        else
        {
        alert('You Reached the limits')
        }
    });

    $(wrapper).on("click",".delete", function(e){ 
        e.preventDefault(); $(this).parent('div').remove(); x--;
    })
});
</script>

【问题讨论】:

  • 如果您在谈论值时指的是列,那么在 MySQL(甚至 SQL)表中就无法拥有无限的列。也许您需要不同的 RDBMS (NoSQL)。也许您没有以我们可以理解的方式解释您的问题以试图帮助您
  • 好的,我会尽量解释我的意思。我想在 php 中创建一个脚本,该脚本将使用来自输入的可变数量的列添加到数据库中。有人建议我用 json 来做,但我不知道该怎么做。
  • 您使用的是平面文件思维而不是关系思维。您不会随意添加列(字段)。您使用两个相互关联的表。在您的示例中, session 将是一个单独的表,并且每一行都将引用第一个表中的一行。研究“数据库规范化”以了解应如何设置表。
  • 我找到了我的问题的答案。感谢您的帮助:D

标签: php mysql arrays json


【解决方案1】:

正如@TimMorton 已经评论你对数据库的想法有点错误。

根据我对您问题的理解:
你有一个带有name 的东西以及生成的属于它的东西。
所以一个好的表格设置应该是这样的:

主表

+----+------+
| id | name |
+----+------+
|  1 | foo  |
|  2 | bar  |
|  3 | baz  |
+----+------+

生成的对象

+----+--------------+---------+
| id | random_field | fk_main |
+----+--------------+---------+
|  1 |        12345 |       1 |
|  2 |          123 |       1 |
|  3 |          455 |       2 |
|  4 |         7677 |       2 |
|  5 |          952 |       3 |
+----+--------------+---------+

如您所见,每个生成的对象都有一个 fk_mainmain 的外键),它显示了它所属的位置(generated.fk_main == main.id)。

这样您就可以根据需要保存尽可能多的关系数据。

也许看看这个:
http://www.mysqltutorial.org/mysql-foreign-key/

最后,您可以使用带有joins 的查询将这些数据整合在一起。

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 2015-04-24
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 2019-05-30
    • 2011-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多