【发布时间】:2011-11-22 23:31:48
【问题描述】:
这两天一直在研究这个愚蠢的问题。如果您能提供帮助,我将不胜感激!
所以我的 html 是这样的:
<a class='selected' option ='2' category='1' price='1750.00'>Round Corners</a>
<a class='selected' option ='3' category='1' price='2200.00'>Chamfer Corners</a>
然后我的脚本是:
$('#save').click(function(){
var passOptions = new Array();
var i=0;
$('.selected').each(function(){
passOptions[i] = $(this).attr('option');
i++;
});
console.log(passOptions);
$.ajax({
type: "POST",
url: "processsaveconfig.php?configid=<? echo $configid; ?>",
data: { passOptionsArray : passOptions },
success: function() {
$('#pricediv').html(data);
}
});
});
我的php页面去:
$passopts = $_REQUEST['passOptionsArray'];
mysql_connect($serverpath, $dbusr, $dbpass) or die(mysql_error());
mysql_select_db($dbname) or die(mysql_error());
mysql_query("DELETE FROM se_config_opt_link
WHERE se_config_opt_link.f_config_id = '$configid'");
foreach ($_POST['passOptions'] as $opts){
mysql_query("INSERT INTO se_config_opt_link (f_config_id, f_opt_id)
VALUES ('$configid', '$opts')");
};
在控制台选项卡的 Firebug 中,我得到:["1", "4", "7"] 但在“响应”选项卡中显示:
警告:在线 /home/users/c/companion/public_html/dynamic/builder_app/processsaveconfig.php 中为 foreach() 提供的参数无效17
我被困住了。如果您能提供帮助,我将不胜感激。
【问题讨论】:
-
首先,var_dump() 看看你有什么样的数据
-
我不是 PHP 专家,但在您的
foreach中不应该是$passopts['passOptions']而不是$_POST['passOptions']。 -
我正在使用 Jeremy 的代码,但 var_dump 仍然输出“NULL”...
标签: php jquery mysql arrays post