如何从 <td> 获取值并保存到 php 中的数据库

Posted

技术标签:

【中文标题】如何从 <td> 获取值并保存到 php 中的数据库【英文标题】:How to get the value from<td> and save to Database in php 【发布时间】:2016-09-12 18:46:13 【问题描述】:

我有一个带有复选框的表格,我想编辑一些 td 并想要获取值。 这是我的代码

<table class="table table-bordered table-striped table-hover">
    <thead>
        <tr>
            <th><input type="checkbox" id="allcb" name="allcb"/> Check all</th>
            <th data-field="id">ID</th>
            <th data-field="firstName">First name</th>
            <th data-field="lastName">Last name</th>
        </tr>
    </thead>
    <tbody>
        % for user in product.users %
                <td><input type="checkbox" name="checkBox[]"  id="ic" value=" user.id " /></td>
                <td  data-title="id">user.id</td>
                <td data-title="firstName">user.firstname</td>
                <td data-title="lastName" contenteditable='true' name="v1">user.lastname</td>

            </tr>
        % endfor %
    </tbody>

</table>
if(isset($_POST['checkBox']) && !empty($_POST['checkBox'])&& isset($_POST['v1']))

         $user =$_POST['checkBox'];
        $v1 =$_POST['v1'];

         $zl = 0;
         foreach ($user  as $id)
         
           foreach ($v1 as $v2)
           

             $userd = $em->getRepository('UserBundle:User')->find($id);
             $userd->setlastName($v2);
             $em->persist($userd);


             ++$zl;
           

        $em->flush();
      

我没有得到任何结果。我试图获得这样的价值: $v1 =$_POST['v1'];但是我什么都没有。

有人可以帮助我吗?谢谢!

【问题讨论】:

您是在问如何提交表单吗? 我想从 user.lastname 【参考方案1】:

您至少有两个选择:

如果有数据,则到处隐藏字段(最佳方法):

<td>
    <input type="checkbox" name="checkBox[]"  id="ic" value=" user.id " />
    <input type="hidden" value="user.lastname" name="v1[ user.id ]"></td>
<td  data-title="id">user.id</td>
<td data-title="firstName">user.firstname</td>
<td data-title="lastName" contenteditable='true'>user.lastname</td>

在服务器端你可以这样做:

.... your code ....
foreach ($user  as $id) 
    $lastname = $v1[$id];
    ... save your lastname value ...

另一个选项是设置复选框值,数据由某个值分隔(丑陋的解决方案)

<td><input type="checkbox" name="checkBox[]"  id="ic" value=" user.id #user.lastname" /></td>
            <td  data-title="id">user.id</td>
            <td data-title="firstName">user.firstname</td>
            <td data-title="lastName" contenteditable='true' name="v1">user.lastname</td>

编辑

我现在看到您正在使用 contenteditable。您应该将值添加到隐藏字段:

$("form").submit(function() 
    $('input[name*="v1"]').val($(this).closest('td[name="v1"]').html());
);

<td>
    <input type="checkbox" name="checkBox[]"  id="ic" value=" user.id " />
    <input type="hidden" value="user.lastname" name="v1[ user.id ]"></td>
<td  data-title="id">user.id</td>
<td data-title="firstName">user.firstname</td>
<td data-title="lastName" contenteditable='true' name="v1">user.lastname</td>

【讨论】:

谢谢。我得到以前的值我没有得到编辑值:/ 已编辑。在提交表单之前,您需要使用新数据填充隐藏字段。

以上是关于如何从 <td> 获取值并保存到 php 中的数据库的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Jquery 获取 td 值并存储在数组中? [复制]

如何使用 POST 检索 <textarea> 值并保存到文件中?

如何从 Map<String, List<String>> 获取数组值并放入 setOnMarkerClickListener?

从单元格中获取值并保存为变量

从选择框中获取选项值并粘贴到 href

如何获取vfor中的key值并打印到控制台?