[英]select multiple rows from mysql and sent to jquery post function in php
在我的应用程序中,我必须根据类别加载数据。 我正在做的是单击类别时,在我获取类别ID的地方调用了click函数,并将其传递给$.post
方法到php页面load_project.php
。 在该页面上,我根据类别ID选择项目,并且必须将选择的行发送回成功功能。 我的问题是,当我将数据发送回阵列中时,仅收到数据警报的最后一行。 我不知道我要去哪里。 谁能帮帮我吗。
PHP页面:
<script>
$(document).ready(function() {
$("#categorylink").click(function() {
cid = $(this).attr("data-cid");
$.post('load_project.php', { cid: "" + cid + "" }, function(data) {
alert(data); //here I get only one row, but there is actually 3 rows
});
});
});
</script>
<ul>
<a><li data-filter="all">>All</li></a>
<?php $get=$config->get_cat();
while($row = $get->fetch(PDO::FETCH_ASSOC)) {
?>
<a id="categorylink" data-cid="<?php echo $row['category_id'];?>">
<li>
<?php echo $row['category_name'];?>
</li>
</a> //this is my categories
<?php } ?>
</ul>
load_project.php
<?php
require_once 'config.php';
$config = new DBConfig;
if(isset($_POST['cid']))
{
$cid=$_POST['cid'];
$get=$config->getprojectbycategory($cid);
while($row=$get->fetch(PDO::FETCH_ASSOC)) {
$results['projects'] = $row;
}
echo json_encode($results);
}
?>
从成功函数中,我必须将行填充到网格中。 我无法做到这一点。 因此,当前我通过href将类别ID传递给php页面本身,并在页面重新加载后填充数据。 由于它不是加载数据的好方法,因此我想用jquery ajax替换它。 请帮我。
编辑1
当我这样尝试时:
$results[] .= $row['project_name'];
我正在警报中得到三个项目名称: [[],"Private Palace","Private Villa F","23rd Floor Addax Tower"]
此问题是因为您存储在数组中的值被以前的值覆盖。
解决方案是声明$results['projects'] = array();
在while循环之前。
$results['projects'] = array();
while($row=$get->fetch(PDO::FETCH_ASSOC)){
$results['projects'] = $row['project_name'];
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.