The branch, master has been updated
via f6fb9b46785dde20c09524a77fd200f44458e94c (commit)
from 9433f4e78fdc847554d900ea440e642685d8dd75 (commit)
- Log -----------------------------------------------------------------
commit f6fb9b46785dde20c09524a77fd200f44458e94c
Author: onebighack <[email protected]>
Date: Thu Apr 7 13:01:57 2011 -0400
Patch #3249406 Error in updating using inline edit
-----------------------------------------------------------------------
Summary of changes:
js/sql.js | 24 ++++++++++++++++++++++--
1 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/js/sql.js b/js/sql.js
index 078f3a2..4e34126 100644
--- a/js/sql.js
+++ b/js/sql.js
@@ -18,6 +18,10 @@ function PMA_urldecode(str) {
return decodeURIComponent(str.replace(/\+/g, '%20'));
}
+function PMA_urlencode(str) {
+ return encodeURIComponent(str.replace(/\%20/g, '+'));
+}
+
/**
* Get the field name for the current field. Required to construct the query
* for inline editing
@@ -683,7 +687,6 @@ $(document).ready(function() {
'token' : window.parent.token,
'curr_value' : curr_value
}
-
$.post('sql.php', post_params, function(data) {
$this_field.append(data.dropdown);
$this_field.data('original_data', data_value);
@@ -791,6 +794,9 @@ $(document).ready(function() {
var sql_query = 'UPDATE `' + window.parent.table + '` SET ';
var need_to_post = false;
+
+ var new_clause='';
+ var prev_index=-1;
$input_siblings.each(function() {
/** @lends jQuery */
@@ -849,6 +855,9 @@ $(document).ready(function() {
$.extend(relation_fields, this_field_params);
}
}
+ if(where_clause.indexOf(field_name) > prev_index){
+ new_clause += '`'+window.parent.table+'`.'+'`' +
field_name + "` = '"+this_field_params[field_name].replace(/'/g,"''")+"'"+' AND
';
+ }
if (this_field_params[field_name] !=
$this_field.data('original_data')) {
sql_query += ' `' + field_name + "`='" +
this_field_params[field_name].replace(/'/g, "''") + "' , ";
need_to_post = true;
@@ -856,10 +865,15 @@ $(document).ready(function() {
}
})
+ /*
+ * update the where_clause, remove the last appended ' AND '
+ * */
+
//Remove the last ',' appended in the above loop
sql_query = sql_query.replace(/,\s$/, '');
+ new_clause=new_clause.substring(0,new_clause.length-5);
+ new_clause=PMA_urlencode(new_clause);
sql_query += ' WHERE ' + PMA_urldecode(where_clause);
-
/**
* @var rel_fields_list String, url encoded representation of {@link
relations_fields}
*/
@@ -897,6 +911,12 @@ $(document).ready(function() {
$.post('tbl_replace.php', post_params, function(data) {
if(data.success == true) {
PMA_ajaxShowMessage(data.message);
+ if(disp_mode == 'vertical') {
+
$this_td.parents('tbody').find('tr').find('.where_clause:nth('+this_td_index+')').attr('value',new_clause);
+ }
+ else {
+
$this_td.parent('tr').find('.where_clause').attr('value',new_clause);
+ }
// remove possible previous feedback message
$('#result_query').remove();
if (typeof data.result_query != 'undefined') {
hooks/post-receive
--
phpMyAdmin
------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Phpmyadmin-git mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/phpmyadmin-git