我有多个结果,其中放置了json数据,我已经放置了比较按钮来将所有这些结果进行比较,按钮点击它会传递url中的变量,如
http://localhost/course/compare_results.php?course_id=1&course_id=2
我希望我的网址应该将数据传递为:http://localhost/course/compare_results.php?course_id=1,2
。
**编辑:添加代码** 我的ajax调用代码是
<script type="text/javascript">
$(document).ready(function()
{
$(".compare").change(function() {
if(this.checked) {
$('#compare_box').show();
var check = $(this).val();
$.ajax({
type: 'POST',
url: 'compare.php',
dataType : "JSON",
data:{value : check},
success: function(data)
{
console.log(data);
var output = "<div class='col-md-3 photo-grid' style='float:left'>";
output += "<div id='course_title' class='well well-sm'>";
output += "<h4>"+data.title+"</h4>";
output+="<textarea class='hidden' id='hidden_title' name='course_title' value=>"+data.title+"</textarea>";
output+="</div>";
output+="<input type='hidden' id='hidden_id' name='course_id' value="+data.id+">";
output+="</div>";
$('#result').append(output);
}
});
}
else if(!this.checked && boxes[check]) {
boxes[check].remove();
delete boxes[check];
}
});
});
php代码是:
<div id='compare_box'>
<form action="compare_results.php" method="GET">
<?php ##include 'compare_template.php'; ?>
<div id='result'>
</div>
<button id="compare_submit" type="submit" class="btn btn-primary btn-sm">compare</button>
</form>
</div>
<div class="col-md-3 photo-grid " style="float:left">
<div class="well well-sm">
<h4><small><?php echo $title; ?></small></h4>
</a>
<br>
<input type ='checkbox' name="compare" class="compare" value="<?php echo $id;?>">add to compare
</div>
</div>
答案 0 :(得分:0)
当您在变量中传递查询字符串中的数据时,您可以将数据转换为字符串。
如果要将其转换为数组(更适合数据处理),可以使用PHP的explode()
内置函数。
以下是示例:
<?php
// course/compare_results.php
$courses = $_GET['course_id'];
var_dump($courses);
$arr = explode(',', $courses);
var_dump($arr);
当您访问浏览器中的链接时:http://localhost/course/compare_results.php?course_id=1,2
然后,结果将如下所示。
string '1,2' (length=3)
array (size=2)
0 => string '1' (length=1)
1 => string '2' (length=1)