【问题标题】:How to combine 3 input text arrays如何组合 3 个输入文本数组
【发布时间】:2016-09-19 00:09:25
【问题描述】:

我有一个小问题,因为我不知道如何组合我的动态添加的输入文本字段。

我向您解释:在我的 HTML 表单中,我可以动态添加一些文本输入以添加包含 3 个字段的新票:SERIE、FOLIO、NUMERO:

我马上给你看一张图片,让你了解我的表单的外观:https://1drv.ms/i/s!AmWUBgKqLm-KhlEDlgzMA9VLZBwo

这是 HTML 代码:

    <div style="border:1px solid black; border-color: #19296C; padding:10px; border-radius:10px;"><h3>Boletos adquiridos</h3>
                <div data-role="fieldcontain">
                    <label for="ticketQty">Cantidad de boletos comprados: </label>
                    <input type="text" name="ticketQty" id="ticketQty" placeholder="Cantidad de boletos comprados" onkeypress='return event.charCode >= 48 && event.charCode <= 57'">
                </div>
                <div data-role="fieldcontain" class="input_fields_wrap ui-grid-b">
                <div class="ui-block-a">
                    <label for="serie">Serie: </label>
                    <input type="text" name="serie[]" id="serie" placeholder="Serie" onkeypress='return event.charCode >= 65 && event.charCode <= 90 || event.charCode >= 97 && event.charCode <= 122'>
                </div>
                <div class="ui-block-b">
                    <label for="Folio">Folio: </label>
                    <input type="text" name="folio[]" id="folio" placeholder="Folio" onkeypress='return event.charCode >= 48 && event.charCode <= 57 || event.charCode <= 46'>
                </div>
                <div class="ui-block-c">
                    <label for="Numero">Numero: </label>
                    <input type="text" name="numero[]" id="numero" placeholder="Numero" onkeypress='return event.charCode >= 48 && event.charCode <= 57 || event.charCode <= 46'>
                </div>
                    <button class="add_field_button" data-mini="true">Agregar Boleto</button>
                </div>
                </div>

当我使用 PHP 获取我的 3 个输入文本的值时,我会执行以下操作:

    if(isset($_POST["serie"]) && is_array($_POST["serie"])){
    $subject = implode(", ", $_POST["serie"]);
    }
    if(isset($_POST["folio"]) && is_array($_POST["folio"])){
    $subject1 = implode(", ", $_POST["folio"]);
    }
    if(isset($_POST["numero"]) && is_array($_POST["numero"])){
    $subject2 = implode(", ", $_POST["numero"]);
    }

但是当我打印数组的值时,我只能得到这样的值: https://1drv.ms/i/s!AmWUBgKqLm-KhlJn1QOEkWBit6gq

我想创建一个组合这些值的变量。例如

Serie--------Folio--------Numero

A-------------001-------------1

A-------------001-------------2

问题是,我如何组合数组中给定的值来创建我想要的结构,然后将票证插入到我的数据库中连接我的结果。

【问题讨论】:

    标签: php arrays variables


    【解决方案1】:

    循环遍历其中一个数组并创建一个数组,该数组将所有这些数组的对应元素组合在一起。

    $result = array();
    foreach ($_POST['serie'] AS $i => $serie) {
        $result[] = array('serie' => $serie, 
                          'folio' => $_POST['folio'][$i],
                          'numero' => $_POST['numero'][$i]);
    }
    

    【讨论】:

    • 感谢您的回答,我尝试了您推荐的方法,但屏幕上只显示了“Array”一词:\您知道我做错了什么吗??
    • 无法回显数组,使用var_dump($result)查看结果内容。
    • 哦,老兄,对不起,我只是一个业余程序员,但我非常喜欢学习。是的,使用该代码,我的票正确组合了值,但现在我有另一个疑问,我如何创建一个包含排序的这些组合数组值的新变量,因为我需要将组合数组值插入一个唯一的数据库字段中。在我的数据库中,我需要查看每张票(符合我表单中的 3 个文本字段),例如用逗号分隔或分号无关紧要。例如:A 500 001、A 500 002、A500 003 希望您能帮帮我 Barmar,非常感谢。
    • 您不应该将逗号分隔的值放在数据库字段中。现在你要学习另一件事:数据库规范化。谷歌一下。
    • 我只是将它插入到一个访问数据库中,数据库不是很复杂,因为只使用了 3 或 2 个未规范化的表:像这样的东西:1drv.ms/i/s!AmWUBgKqLm-KhlNdgYHubuwKJ1LZ
    猜你喜欢
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 2017-08-27
    • 1970-01-01
    • 2012-07-20
    • 2017-08-08
    • 2012-08-19
    • 1970-01-01
    相关资源
    最近更新 更多