Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
保存从PHP动态生成的文本字段_Php_Javascript_Jquery - Fatal编程技术网

保存从PHP动态生成的文本字段

保存从PHP动态生成的文本字段,php,javascript,jquery,Php,Javascript,Jquery,我有一个基于用户输入动态生成的表,在某些情况下,行有一个textfield,我想在MySql数据库的textfield by中保存用户更新的值。e、 g: 实际代码: echo "<tr><td>".$sql3[0]."</td><td>".$row1[2]."</td> <td><input type='text' class='span1' value='".$recieved."'/>

我有一个基于用户输入动态生成的表,在某些情况下,行有一个textfield,我想在MySql数据库的textfield by中保存用户更新的值。e、 g:

实际代码:

echo "<tr><td>".$sql3[0]."</td><td>".$row1[2]."</td>
      <td><input type='text' class='span1' value='".$recieved."'/>
      </td><td>".$status."</td></tr>";
现在我想保存在textfield中输入的值,并在数据库中更新它们。问题是我不知道如何定义一个
id
(textfield的id),它可以用javascript读取,这样我就知道我现在谈论的是哪个textfield

任何建议都会有帮助。

你可以试试

item_id     mediumint(8)    
甚至
int


这将是足够长的时间,但你也需要usr_id或dunno,如果你已经在考虑这将是足够的

在HTML中添加名称:

<input type='text' class='span1' name="received[]" value='".$recieved."'/>
你会知道该怎么做


或者,您可以执行
received[$id]
,其中
$id
是行的主要标识符。

您的输出应该如下所示(换行符仅用于读取而不用于实际代码)

现在我们已经将输入字段的ID(它也直接关联到我们要更新的行)传递到PHP文件中,我们可以解析我们需要的数据并使用它相应地更新数据库

<?php
  //include our sql.connect file

  $ourId = $_POST['id'];
  $updatedText = $_POST['text'];

  $q = mysql_query("UPDATE 'our_table' SET received='".$updatedText."' WHERE id = ".$ourId);
?>

@Stewie-请检查更新的问题,可能会有帮助!为什么不使用简单的ajax提交?简单,允许您使用PHP,让用户在同一页上。@CharlesForest-这就是我想要做的,但为此我需要从textfields中获取值,但是textfields是动态生成的,所以我不知道如何获取这些值。我是否可以获取接收到的
的值[some_textfield]
,这样我就可以使用ajax并保存数据了。我需要在javascriptwell中获取ID和输入的值,在JS中有多种方法可以实现,但是使用数组方法无法实现,您必须通过ID来实现,或者如果您使用的是jquery,您可以进行遍历。这正是我想要的,也只是为了澄清在文本字段上按return键时代码的工作方式,对吗?也请您详细说明这一行:
”;如果(!empty($row[“received”]){var.='';}或者{var.='';}
同样,
('input')
标记正在处理其他未动态创建的文本字段。是。当按下返回键时,数据将被发送到php文件。e、 预防默认值();停止表单提交和页面的自然“刷新”,因此我们可以避免这种行为。此外,您还可以更改var.='';至变量=“”;然后您可以将$('input')更改为$('someClass input');因此,您只针对具有.someClass类的行中的输入。
$received = $_REQUEST['received']
print_r($received); 
var .= '<tr class="someClass">';
var .=   '<td>'.$row["item"].'</td>';
var .=   '<td>'.$row["quantity"].'</td>';
var .=   '<td>';if(!empty($row["received"])){ var .= '<input type="text" value="'.$row["received"].'" id="'.$row['id'].'" />'; }else{ var.= '<input type="text" value="default_value" id="'.$row['id'].'"/>'; } 
var .=   '</td>';
var .= '</tr>';

return var;
$(".someClass input").live('keypress', function(e){
  var code = (e.keyCode ? e.keyCode : e.which);
  if(code == 13){ // if we pressed enter
    e.preventDefault(); // stop the default submission behavior
    var ourId = this.id;
    var updatedText = $(this).val();
    $.ajax({
      type: 'POST',
      url: 'path/to/my/update/file.php',
      data: 'id='+ourId+'text='+updatedText,
      success: function(data){
        //our post to the file was successful. 
        //The file returns data and that data is available as an object.
        //We declare it as 'data' in the success: function(data) string.
       $("#someContainer").append(data); //append our data returned to #someContainer

      }
    });
  }
});
<?php
  //include our sql.connect file

  $ourId = $_POST['id'];
  $updatedText = $_POST['text'];

  $q = mysql_query("UPDATE 'our_table' SET received='".$updatedText."' WHERE id = ".$ourId);
?>
var .= '<td>'; //open the data cell    
//the below line checks to see if the row 'received' is **NOT** a empty database result
if(!empty($row["received"])){
  //our row is not empty, change the value of the input field to our $row['received'] value
  var .= '<input type="text" value="'.$row["received"].'" id="'.$row['id'].'" />'; 
}else{ 
  //our row was empty, or our row returned null. either way, we use "default_value" as our value, which will literally print as a textbox with the words default_value in it.
  var.= '<input type="text" value="default_value" id="'.$row['id'].'"/>'; 
} 
var . = '</td>'; //close the data cell