【问题标题】:how to insert dynamic input box value into table in single column when id will be matched with the input box name extension id当id将与输入框名称扩展id匹配时,如何将动态输入框值插入单列表中
【发布时间】:2019-02-15 13:24:02
【问题描述】:

我有一个不同名称的动态输入框,当$data['f_id'] 与 (marks_'.$data['f_id']) 输入相同时,我想插入到模板表值列中名字。

这是我的代码:

<form>
foreach($sqls as $data) {
    $fact_id[]=$data['temids'];
    echo '<input type="text" style="float:left;" name="marks_'.$data['f_id'].'">'; 
}
<input type='submit' name='markssubmit' value='Submit' class='btn btn-primary'/>
</form>
if(isset($markssubmit)) {
    foreach($fact_id as $facid) {
        $marks="marks_".$facid; // how do i change this field
        echo "UPDATE `template`  set value=".$marks." where tid=".$tmid." and f_id=".$facid ;   
    }
}

我的输入框将正确命名。但是当我更新我的 sql 回声时:-

UPDATE `hra_templates`  set mark_value=marks_1 where tem_id=9 and f_id=1

, 但它应该来

UPDATE `hra_templates`  set mark_value=10 where tem_id=9 and f_id=1

【问题讨论】:

  • 有问题吗?您不需要在不是关键字的表/字段上使用反引号。建议查找如何避免 SQL 注入。
  • @danblack 我只是在寻找在这种情况下如何在 Php 中按名称获取输入框值的方法

标签: php mysql sql dynamic sql-update


【解决方案1】:

当我看到你的代码你真正想要什么你想更新一些东西吗 或者您想从数据库中获取数据然后创建输入框。 或者您有一个输入框的 ID,并且该 ID 与您提供的 ID 匹配 然后需要创建一个输入框。 请清除这个。 这是动态创建输入框的基础。 $data = 数组(10,20,30,40);

foreach ($data as $key => $value) {
  echo '<input type="text" name="marks_'.$value.'">'; 
}

【讨论】:

  • 我的输入框会正确命名。但是当我更新我的 sql 回声时 UPDATE hra_templates set mark_value=marks_1 where tem_id=9 ,但它应该来 UPDATE hra_templates set mark_value=10 where tem_id=9
  • 试试这个:foreach ($data as $key => $value) { $marks="marks_".$value;回声“更新student设置marks_value = $marks”; }
  • "marks_".$value 这就像 marks_1 但为了价值我想要 $marks_1 @prakash pandey
  • 是的,它是看到这个输出:更新student设置标记值=标记_10
  • @TaniyaChowdhury 不错 :)
【解决方案2】:
<form>
foreach($sqls as $data) {
    $fact_id[]=$data['temids'];
    echo '<input type="text" style="float:left;" name="marks[]">'; 
}
<input type='submit' name='markssubmit' value='Submit' class='btn btn-primary'/>
</form>
if(isset($markssubmit)) {
    foreach($fact_id as $facid) {
        $sql= "UPDATE `template`  set value=".$marks[$facid-1]." where tid=".$tmid." and f_id=".$facid ;   
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-29
    • 2017-12-01
    • 1970-01-01
    • 2019-09-30
    • 2014-09-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-23
    相关资源
    最近更新 更多