现在已经有两天在处理这个愚蠢的问题了。如果你能提供帮助,我一定会很感激!
所以我的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 17 中为foreach()提供的参数无效
我被困住了。如果你能帮助我真的很感激。
答案 0 :(得分:1)
在我看来,你正在寻找这个:
$('#save').click(function(){
var passOptions = [];
$('.selected').each(function(){
passOptions.push($(this).attr('option'));
});
console.log(passOptions);
在PHP中,使用以下内容:
$myArray = $_POST['passOptionsArray'];
if (is_array($myArray)({
...
}
我希望这会有所作为。
答案 1 :(得分:0)
foreach ($_POST['passOptions'] as $opts){...
不应该更像foreach ($_POST['passOptionsArray'] as $opts){...