如何从php中获取值并保存到Database

时间:2016-05-16 20:50:00

标签: php html symfony twig

我有一个带复选框的表,我想编辑一些td并希望得到该值。 这是我的代码

    protected virtual RecipientId RecipientId
    {
        get
        {
            RecipientId recipientId = null;

            var contactId = ContactId;

            if (contactId != (ID)null)
            {
                recipientId = new XdbContactId(contactId);
            }

            return recipientId;
        }
    }

    protected virtual ID ContactId
    {
        get
        {
            if (!Email.Visible || string.IsNullOrEmpty(Email.Text))
            {
                return new ID(Tracker.Current.Contact.ContactId);
            }

            var anonymousId = ClientApi.GetAnonymousIdFromEmail(Email.Text);

            return anonymousId.HasValue ? new ID(anonymousId.Value) : new ID(Tracker.Current.Contact.ContactId);
        }
    }

    protected virtual void UpdateEmailInXdb()
    {
        _recipientRepository.UpdateRecipientEmail(RecipientId, Email.Text);
    }

我没有得到任何结果。我想获得这样的价值:             $ v1 = $ _ POST [' v1'];但是我得不到任何东西。

有人能帮助我吗?谢谢!

1 个答案:

答案 0 :(得分:0)

这里至少有两个选项:

如果是数据(最佳方法),无处不在的隐藏字段:

<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>