0

我想知道这是否可以用 jQuery 来完成。请看下面的代码。

HTML

<table id="order">
    <tr>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
    </tr>
    <tr>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
    </tr>
    <tr>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
        <td class="order_items"></td>
    </tr>
</table>

javascript

$(document).ready(function(){
    $("td.load_ads").each(function(){
        $(this).html("Place a New Ad Free!");
    });
    var count=$("td.load_ads").length;  //18
    $.post('/fetch_orders.php',{count:count},function(data){
        var data_arr=data.split('/end');
        for(index=0;index < data_arr.length;index++){  //for each of the array values got back from fetch orders.php
            .
            ..
            ... Stuck here. How to make each data_arr(ie: each data_arr[index]) go into each td?

.POST 脚本

$count =$_POST['count'];
$query="SELECT * FROM orders1_manager_orders ORDER BY RAND() LIMIT $count";
$db->setQuery($query);
$ads=$db->loadRowList();

foreach($ads as $ads_to_display){
    echo $orders_to_display[9].'/';
    echo $orders_to_display[10].'/end';
}

如标题中所述,我需要将每个订单放入td上述 html 表中的每个空槽中。但是,如果我要在我的.post之后放置一个.each()函数,我所有的 tds 都将变成从脚本中获取的第一个数据,这意味着.data_arr[1]

4

2 回答 2

1

首先,请看一下: http: //php.net/manual/en/function.json-encode.php

http://www.islandsmooth.com/2010/04/send-and-receive-json-data-using-ajax-jquery-and-php/

第二:更好地使用 div insted 表,这将使您不受客户端设备屏幕大小的影响。

http://csswizardry.com/2011/08/building-better-grid-systems/

第三,这绝对是可怕的代码,但它应该是你的解决方案:

$("td.load_ads").each(function(){
    $(this).html("Place a New Ad Free!");
});
var count=$("td.load_ads").length;  //18
$.post('/fetch_orders.php',{count:count},function(data){
    var data_arr = [];

    var rows=data.split('/end');
    for(index=0;index < rows.length;index++){  
        var row = rows[i].split('/');

        for (var x in row) {
            data_arr.push(row[x]);
        }
    }

    var i = 0;
    $("td.load_ads").each(function () {
        if (data_arr[i]) {
            $(this).html(data_arr[i]);
        }

        i++;
    });
}   
于 2013-01-05T06:12:28.393 回答
0
  $query = Sql_Query("SELECT * FROM  Table");
  $num_rows = mysql_num_rows($query);              
    for($i=0; $i < $num_rows; $i=$i+5)
     {

        $query1 = Sql_Query("SELECT * FROM  Table LIMIT ".$i.", 5 ");
                print '<td valign="top">';
               while ($row=mysql_fetch_assoc($query1))
                  {
                  print '<input type="checkbox" name="chk_group1[]" id="chk_group1" value="'.$row['isp_name'].'" />    '.$row['isp_name'].'<br />';

                     } 
                       print '</td>';

     }
于 2013-03-29T10:42:49.007 回答