Ваш результат должен выглядеть (переносов для чтения только - не для использования в настоящем коде)
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;
Теперь вы используете функцию AJAX JQuery, чтобы передать по значению идентификатора «строк ».
$(".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 файл, мы можем анализировать данные, которые нам нужны, и использовать его для обновления соответственно.
<?php
//include our sql.connect file
$ourId = $_POST['id'];
$updatedText = $_POST['text'];
$q = mysql_query("UPDATE 'our_table' SET received='".$updatedText."' WHERE id = ".$ourId);
?>
Надеюсь, это то, что вы хотите.
EDIT 1 - по запросу пользователя
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
EDIT 2
Измененный, чтобы отразить уникальный класс созданный только строк в нашем PHP файле.Также был изменен селектор функции нажатия клавиши, чтобы отражать только входы в пределах наших уникально сгенерированных строк.
вставьте свой HTML код – Stewie
@Stewie - Пожалуйста, проверьте обновленный вопрос, возможно, это поможет! – Namit
Почему бы не использовать простой ajax submit? легко, вы можете использовать PHP, позволить пользователю на той же странице. –