我遇到了jQuery serialize()函数的问题.
在上下文中,我打开一个表单并检查对其所做的更改,因此当表单加载时,我将数据序列化并将其分配给全局变量:
form_data.edit_initial = $('#edit-job-form').serialize();
Run Code Online (Sandbox Code Playgroud)
这很好.
然后,当我点击按钮离开表单时,它会执行以下检查:
var start = form_data.edit_initial;
var end = $('#edit-job-form').serialize();
if (start == end)
{
// Do button action
}
else
{
// Open confirm dialogue
}
Run Code Online (Sandbox Code Playgroud)
无论如何.这两个序列化()函数的工作,但第二个已经转换撇号等成一系列数字和百分比符号(我可以安全地假定是省略号一些代码).
有什么想法吗?这意味着即使没有进行任何更改,对话框也会打开并呻吟表示表单已更改而未保存.
救命!
这是一些示例数据.
我正在使用CKEditor实例.
第一个结果的一部分:
&edit_time_digital=60&edit_desc=%3Cp%3E%0D%0A%09They'd+like+the+share+their+site+incase+people+want+to+see+their+entire+collection+of+furnature.%3C%2Fp%3E%0D%0A%3Cp%3E%0D%0A%09The+site+needs+the+following%3A%3C%2Fp%3E%0D%0A%3Cul%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Home+page%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Standard+pages%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Galleries+(By+category)%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Contact+page%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09News+listings%3C%2Fli%3E%0D%0A%3C%2Ful%3E%0D%0A%3Cp%3E%0D%0A%09It+should+be+a+very+simple+generator+build.%3C%2Fp%3E%0D%0A&edit_status=active`
Run Code Online (Sandbox Code Playgroud)
第二个:
&edit_time_digital=60&edit_desc=%3Cp%3E%0D%0A%09They%26%2339%3Bd+like+the+share+their+site+incase+people+want+to+see+their+entire+collection+of+furnature.%3C%2Fp%3E%0D%0A%3Cp%3E%0D%0A%09The+site+needs+the+following%3A%3C%2Fp%3E%0D%0A%3Cul%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Home+page%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Standard+pages%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Galleries+(By+category)%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09Contact+page%3C%2Fli%3E%0D%0A%09%3Cli%3E%0D%0A%09%09News+listings%3C%2Fli%3E%0D%0A%3C%2Ful%3E%0D%0A%3Cp%3E%0D%0A%09It+should+be+a+very+simple+generator+build.%3C%2Fp%3E%0D%0A&edit_status=active
Run Code Online (Sandbox Code Playgroud) 我正在开发一个上传CSV并更新MySQL表的项目.在我的sql insert语句结束时,我有一个"on duplicate key update ..."语句.
我的问题是,PDO rowCount()似乎返回2x更新的行.例如,当我第一次上传CSV时,我总共得到100行(csv行的数量),而rowCount返回100,这是有意义的,因为我插入了100行.
但是,如果我再次上传相同的文件,则更新所有100行(我更新unix时间戳),并且rowCount返回200.我认为这是因为rowCount为每次更新返回2,为插入返回1.
我的假设是否正确?有没有人遇到过此问题,是否有一个不涉及100个单独的插入语句的解决方案?我希望能够显示csv中的总行数,插入的新行总数以及更新的总行数.
$sql = 'INSERT INTO projects (' . implode($fields,',') . ') VALUES';
$rowCount = count($csvData);
$tmp = array();
for( $i = 0; $i < $rowCount; $i++ ){
$placeholders = array();
foreach( $fields as $key=>$val ){
/* do some post processing for special characters */
switch($val){
case 'description':
$value = !empty($csvData[$i][$_POST[$val]]) ? $csvData[$i][$_POST[$val]] : NULL;
array_push($tmp,$value);
break;
case 'country':
$value = !empty( $csvData[$i][$_POST[$val]] ) ? implode(' ',array_unique(explode(' ', $csvData[$i][$_POST[$val]]))) : NULL;
$value …Run Code Online (Sandbox Code Playgroud) 在我的PHP应用程序中,我想计算两个时间变量的总和.我正在寻找像这个例子的东西.
$time1 = 15:20:00;
$time2 = 00:30:00;
$time = $time1+$time2;
Run Code Online (Sandbox Code Playgroud) 我正在做一些可能会出现的问题的研究。假设您有一个带有id和名称字段的InnoDB MySQL表。id字段具有BIGINT(20),并且为AUTO_INCREMENT加上其主键。
如果此表已满,您该怎么办,这意味着我们已达到ID的限制,并且无法再生成自动递增编号。
当我同时使用POST和GET请求时,$_SERVER['REQUEST_METHOD']设置为POST.
为什么是这样?是因为GET在任何情况下都考虑了所有请求吗?
这是我为了这个问题而提出的要求.
a = $("#AdminAddForm").serialize();
jQuery.post('index.php?test=yes', a);
Run Code Online (Sandbox Code Playgroud)
在此请求之后填充$ _POST和$ _GET,并且$ _SERVER ['REQUEST_METHOD']设置为POST.
我最近将PHP 5.5.*升级到PHP 5.6.13.
如果有的话,我需要在PHP脚本中显示所有错误.所以我在/etc/php5/cli/php.ini中取消了以下代码的注释
error_reporting
Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
Development Value: E_ALL
Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
Run Code Online (Sandbox Code Playgroud)
它显示错误"意外"和"在第107行".
我知道我的代码中有一些问题,并且执行它时浏览器中没有显示任何内容.