Javascript 在Ajax中实现PHP foreach的这一确切功能?
我得到了如下令人满意的输出: 从这个php foreach循环(在查看和获取模型和控制器的详细信息时),我将根据以下条件从mysql数据库表中获取数据:Javascript 在Ajax中实现PHP foreach的这一确切功能?,javascript,php,ajax,Javascript,Php,Ajax,我得到了如下令人满意的输出: 从这个php foreach循环(在查看和获取模型和控制器的详细信息时),我将根据以下条件从mysql数据库表中获取数据: <tfoot> <?php foreach ($orders as $k => $v) { $order_item = $this->vendor_model->getOrdersItemData($v['o_id']); ?> <tr&
<tfoot>
<?php foreach ($orders as $k => $v) {
$order_item = $this->vendor_model->getOrdersItemData($v['o_id']); ?>
<tr>
<td><?php echo $v['o_id']?></td>
<td><?php echo $v['t_id']?></td>
<td><?php echo $v['grand_total']?></td>
<td><?php echo $v['order_status']?></td>
<!--Datavariable for orders-->
<td>
<table>
<thead>
<tr>
<td>Product Name</td>
<td>Quantity</td>
<td>Price</td>
</tr>
</thead>
<tbody>
<?php foreach ($order_item as $k => $p) {
$product_item = $this->vendor_model->getProductData($p['product_id']); ?>
<tr>
<td><?php echo $product_item['product_name']?></td>
<td><?php echo $p['quantity']?></td>
<td><?php echo $product_item['product_price']?></td>
<!--data variable for order items-->
</tr>
<?php }?>
</tbody>
</table>
</td>
</tr>
<?php }?>
</tfoot>
</table>
品名
量
价格
我尝试在ajax中这样做:
$.each(data, function(k, v) {
var product_item = < ? = json_encode($this - > vendor_model - > getOrdersItemData("19", JSON_HEX_TAG)) ? > ;<!--Is there any way to get this "19 from data by loop"-->
html += '<tr>' +
'<td>' + v.o_id + '</td>' +
'<td>' + v.u_id + '</td>' +
'<td>' + v.grand_total + '</td>' +
'<td>' + v.order_status + '</td>' +
//'<td>'+k + ": " + v.t_id+'</td>'+
//'<td>'+'<pre>'+JSON.stringify(data)+'</td>'+
'<td>' + '<pre>' + product_item.oi_id + '</td>' +
'<td>' +
$.each(product_item, function(k, v) {
html += '<table>' +
'<tr>' +
'<td>' + k + ": " + v.oi_id + '</td>' +
'<td>' + '<pre>' + JSON.stringify(product_item) + '</td>' +
'</tr>' +
'</table>';
}) +
'</td>' +
'<td>' +
'<a href="javascript:;" class="btn btn-success item-view" data="' + this.o_id + '">View</a>' +
'<a href="javascript:;" class="btn btn-info item-edit" data="' + this.o_id + '">Edit</a>' +
'<a href="javascript:;" class="btn btn-danger item-delete" data="' + this.o_id + '">Delete</a>' +
'</td>' +
'</tr>';
});
$。每个(数据、函数(k、v){
var product_item=<?=json_encode($this->vendor_model->getOrdersItemData(“19”,json_十六进制标记))?>;
html+=''+
“+v.o_id+”+
“+v.u_id+”+
“+v.grand_总计+”+
“+v.订单状态+”+
//“+k+”:“+v.t_id+”+
//''+''+JSON.stringify(数据)+''+
''+''+产品项.oi\U id+''+
'' +
$。每个(产品、项目、功能(k、v){
html+=''+
'' +
“+k+”:“+v.oi_id+”+
''+''+JSON.stringify(产品项)+''+
'' +
'';
}) +
'' +
'' +
'' +
'' +
'' +
'' +
'';
});
我刚刚开始使用Ajax,在Ajax中有什么方法可以做到这一点,我知道在我的Ajax中也有很多错误
我想从ajax实现php forloop输出。所以。。。如果您的问题是“如何在发出异步请求时获得相同的结果?”您可以这样做(我假设您有jquery或其他东西,如果没有,您可以在这里找到一个普通的js实现-可能不是最好的,我几年前写过,但应该这样做): 假设您的当前版本(php)位于“/myCurrentPhpEpicOutput”路径上 您的html+js可能如下所示:
$.each(data, function(k, v) {
var product_item = < ? = json_encode($this - > vendor_model - > getOrdersItemData("19", JSON_HEX_TAG)) ? > ;<!--Is there any way to get this "19 from data by loop"-->
html += '<tr>' +
'<td>' + v.o_id + '</td>' +
'<td>' + v.u_id + '</td>' +
'<td>' + v.grand_total + '</td>' +
'<td>' + v.order_status + '</td>' +
//'<td>'+k + ": " + v.t_id+'</td>'+
//'<td>'+'<pre>'+JSON.stringify(data)+'</td>'+
'<td>' + '<pre>' + product_item.oi_id + '</td>' +
'<td>' +
$.each(product_item, function(k, v) {
html += '<table>' +
'<tr>' +
'<td>' + k + ": " + v.oi_id + '</td>' +
'<td>' + '<pre>' + JSON.stringify(product_item) + '</td>' +
'</tr>' +
'</table>';
}) +
'</td>' +
'<td>' +
'<a href="javascript:;" class="btn btn-success item-view" data="' + this.o_id + '">View</a>' +
'<a href="javascript:;" class="btn btn-info item-edit" data="' + this.o_id + '">Edit</a>' +
'<a href="javascript:;" class="btn btn-danger item-delete" data="' + this.o_id + '">Delete</a>' +
'</td>' +
'</tr>';
});
$(函数(){
$.ajax({
url:“/myCurrentPhpEpicOutput”,
方法:“get”,
成功:功能(结果){
$('loadStuffHere').html(结果);
}
});
});
这个选项基本上保持html生成在服务器端(您满意的那个),只需在需要的地方加载它
如果您的问题是“如何使用javascript和ajax请求编写相同的格式以获取原始数据?”
答案与此类似,但有一些调整:
让我们再次假设您的端点位于路由“/myCurrentPhpEpicData”上
您的php将类似于:
您可以在Ajax回调函数中执行此操作,但需要发回原始数据(json、xml)并为自己构建输出。这两种方法都有优点和缺点。我认为您对ajax的含义有点困惑。Ajax意味着异步JavaScript和XML(基本上是发送异步请求)。除此之外,根据您的愿望,您的问题有两种可能的答案。非常感谢您宝贵的时间和精力,但问题是我想根据以下多个数组来完成此操作:,一个数组来自具有o_id的订单_表,然后是具有数量和产品_id的订单_项目表,然后是产品表,以获取产品的详细信息,然后是订单项目到订单。
<?php
// ..... bla bla get orders from somewhere
echo json_encode($orders);
die();
// Actually I see you have codeigniter there so maybe return JsonResponse or something instead of echo + die (I haven't work on CI since 2011ish so... can't really remember its functions names but should have one that does that).
<body>
<div id="loadStuffHere"></div>
<script>
$(function() {
// This is the "load" you asked about in your question
$.ajax({
url: '/myCurrentPhpEpicData',
method: 'get',
dataType: 'json',
success: function(data) {
// There are tons of variations on this... go wild
var computedHtml = '';
for (var i in data) {
var order = data[i];
// Here make your form html as a string (you did most of it in your question so you can copy paste and adapt that)
}
$('loadStuffHere').html(computedHtml);
}
});
});
</script>
</body>