Javascript 将div分配给php变量并在多个隐藏输入上循环

Javascript 将div分配给php变量并在多个隐藏输入上循环,javascript,php,html,Javascript,Php,Html,我已经建立了一个CMS,允许用户创建一个由不同面板组成的“页面”,每个面板都有自己的内容。我这样做是为了让用户可以创建一个包含一个面板和一个文本区域内容的页面,但我仍然不知道如何为多个面板/内容创建页面 当前,如果页面加载从URL值中获取“1”的值,它将加载带有全宽div和半宽div的html模板。我正在尝试使用隐藏的输入类型设置每个模板的面板类型,它们都有自己的tinymce文本区域 <?php if($value == 1){?> <form method="pos

我已经建立了一个CMS,允许用户创建一个由不同面板组成的“页面”,每个面板都有自己的内容。我这样做是为了让用户可以创建一个包含一个面板和一个文本区域内容的页面,但我仍然不知道如何为多个面板/内容创建页面

当前,如果页面加载从URL值中获取“1”的值,它将加载带有全宽div和半宽div的html模板。我正在尝试使用隐藏的输入类型设置每个模板的面板类型,它们都有自己的tinymce文本区域

<?php if($value == 1){?>
    <form method="post">
    <div class="col-lg-12 fullWidth" id="full">
        <input type="hidden" name="fullWidth" value="">
        <div class="fullContent" style="background-color: white; height: 100%;">
            <form  id="form-data3" method="post">
              <textarea class="original" id="mytextarea3" name="fullText">Some Text Here</textarea>
              <input type="submit" value="Save Content">
            </form>
        </div>
    </div>

    <div class="col-lg-12 halfWidth" id="half">
        <input type="hidden" name="halfWidth" value="">
        <div class="halfContent" style="background-color: white; height: 100%;">
            <form  id="form-data4" method="post">
              <textarea class="original" id="mytextarea4" name="halfText">Some Text There</textarea>
              <input type="submit" value="Save Content">
            </form>
        </div>
    </div>
    </form>

<?php } ?>
这适用于所有3个表中的一次插入,但如果我可以为每个div设置多个面板类型,我如何修改它以仍然插入一页记录,但成功地考虑多个面板和内容

这是添加页面脚本

//Insert Page
$title = $_POST['addTitle'];
$page_type = $_POST['pageType'];


$addpage = "
INSERT INTO pages (title, page_type_id)
VALUES ('$title','$page_type');
";
$mysqlConn->query($addpage)

$page_id = $mysqlConn->insert_id;

//Insert Content
$content = $_POST['page_content'];

$addContent = "
INSERT INTO content(content)
VALUES('$content');
";

$mysqlConn->query($addContent);

$cont_id = $mysqlConn->insert_id;

//Insert panel(s)
$panelID = $_POST['panelType'];
$addPanel = "
INSERT INTO panels(panel_type_id, page_id, cont_id)
VALUES ('$panelID', '$page_id', '$cont_id');
";
$mysqlConn->query($addPanel);

我想你的问题是处理多个数据收集。在元素名称中使用[]可以收集同一集合中的多个数据

<textarea class="original" id="mytextarea3" name="fullText[]">Some Text Here</textarea>
这里有一些文本
保存时,从全文中获取一个数组。循环浏览并保存它

如果在同一表单中有多个文档。使用第一个循环中的键访问其他元素数组中的相应数据


希望能有帮助

您管理错误,应该是:

pages

ID | Title    | page_type_id
1  | TitleNew | 1     /*this comes from $value*/

content

ID | Content
1  | Some Text Here
2  | Some Text There

panels

ID | panel_type_ID | page_id | content_id
1  |     1,2         |     1   |   1,2
我在您的表单中找不到
panelType
,但是,您应该检测用户选择的
panels id
,然后将其发送到
php
,例如:

如果用户选择面板(1)和面板(2),您的脚本应将其写入此处:

<input type="hidden" value="1,2">
现在,您的阵列将如下所示:

Array ( [0] => 1 [1] => 2 )
如何使用它?

您可以使用循环:

<?php

    $string = "1,2";
    $get = explode(',', $string ); // explode with and

    $count = count($get);

    for ($i=0; $i < $count; $i++) { 
        $PaN = $get[$i];
        /*Some code....*/
    }

?>


我希望我能理解你。

你的脚本非常开放,甚至可以在
MYSQLI\ucode>或
PDO
API中使用。你的问题太广泛了。你需要指定一个特定的编码问题,而不是一个宽泛的历史是时间和空间。我不知道如何使它更具体,但我认为我的主要问题是分配值到每个div的全宽度。php@RiggsFolly至少我的主要逻辑是正确的吗?一旦我能得到分配给div的变量,我能循环隐藏的输入吗?
<?php

    $string = "1,2";
    $get = explode(',', $string ); // explode with ,

?>
Array ( [0] => 1 [1] => 2 )
<?php

    $string = "1,2";
    $get = explode(',', $string ); // explode with and

    $count = count($get);

    for ($i=0; $i < $count; $i++) { 
        $PaN = $get[$i];
        /*Some code....*/
    }

?>