显示显示结果的计数

7 javascript php jquery datepicker magento

我们使用下面的代码根据选定的From&To日期过滤行.

我们可以成功过滤并显示结果.

PHP

/* to show selected date */

if (isset($_POST['post_at']) && $_POST['post_at'] != '')
    {
    $orderFromDate = $_POST['post_at'] . "  00:00:00 ";
    }
    else
    {
    $orderFromDate = '';
    }

if (isset($_POST['post_at_to_date']) && $_POST['post_at_to_date'] != '')
    {
    $orderToDate = $_POST['post_at_to_date'] . "    23:59:59  ";
    }
    else
    {
    $orderToDate = '';
    }

/* to show selected date end*/

function getDesignerCollection()
{
    /* date search */
    if (isset($_POST['post_at']) && $_POST['post_at'] != '')
        {
        $orderFromDate = $_POST['post_at'] . " 00:00:00 ";

        }
        else
        {
        $orderFromDate = '';
        }

    if (isset($_POST['post_at_to_date']) && $_POST['post_at_to_date'] != '')
        {
        $orderToDate = $_POST['post_at_to_date'] . "    23:59:59  ";

        }
        else
        {
        $orderToDate = '';
        }
   /* date search end*/

    $accountType = $rows['type'];
    if ($accountType == "admin")
        {

        if ($orderFromDate != '') $order->addFieldToFilter('created_at', array(
            'gteq' => $orderFromDate
        ));
        if ($orderToDate != '') $order->addFieldToFilter('created_at', array(
            'lteq' => $orderToDate
        ));
        }
Run Code Online (Sandbox Code Playgroud)

形成

<form name="frmSearch" method="post" action="">
    <input type="text" placeholder="From Date" id="post_at" 

    value="<?php

if ($orderFromDate != '')
    {
    $newPostStartDate = date('Y-m-d', strtotime($_POST['post_at']));
    echo $newPostStartDate;
    } ?>" name="post_at"  />  

<input type="text" placeholder="To Date" id="post_at_to_date" 


value="<?php

if ($orderToDate != '')
    {
    $newPostEndDate = date('Y-m-d', strtotime($_POST['post_at_to_date']));
    echo $newPostEndDate;
    } ?>"name="post_at_to_date"  />

<input type="submit" name="search" value="search" id="searchButton">

    <input type="button" value="Reset" id="clear-dates">
    </form>
Run Code Online (Sandbox Code Playgroud)

jQuery的

jQuery.datepicker.setDefaults({
    showOn: "button",
    buttonImage: "assets/img/datepicker.png",
    buttonText: "Date Picker",
    buttonImageOnly: true,
    dateFormat: 'yy-mm-dd'
});
$(function() {
    $("#post_at").datepicker();
    $("#post_at_to_date").datepicker();
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

现在我们要显示选择了多少行.如果结果如上图所示,我们要显示"rows:1".我是非常新的PHP和我尝试下面的代码,但它没有显示任何东西:

$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

if ($result = mysqli_query($link, "SELECT entity_id , created_at  FROM sales_flat_order ORDER BY Name")) {

    /* determine number of rows result set */
    $row_cnt = mysqli_num_rows($result);

    printf("Result set has %d rows.\n", $row_cnt);

    /* close result set */
    mysqli_free_result($result);
}
Run Code Online (Sandbox Code Playgroud)

编辑

现在我们要显示显示的行数. 所以我们尝试下面的代码.它显示如下图像.它显示"rows = 3".因为它考虑了"sales_flat_order"表的"entity_id"列.但我想要"行:9",因为你可以在图像中看到9行.

在此输入图像描述

在此输入图像描述

require_once '../../app/Mage.php';
Mage::app();

// specify the date picker date-format
$format = 'Y-m-d';


// if posted data are not empty
if(!empty($_POST['post_at']) && !empty($_POST['post_at_to_date']))
{

       if (!empty($_POST['post_at'])) {
           $dateFrom = DateTime::createFromFormat($format, $_POST['post_at']);
       }

       if (!empty($_POST['post_at_to_date'])) {
           $dateTo = DateTime::createFromFormat($format, $_POST['post_at_to_date']);
       }

        // Get the resource model
        $resource = Mage::getSingleton('core/resource');

       // Retrieve the read connection
          $read = $resource->getConnection('core_read');

      // MySQL query
        $query =  'SELECT entity_id, created_at, dproduct_id FROM sales_flat_order WHERE created_at BETWEEN :fromdate AND :todate ;';

// Bind MySQL parameters
$binds = array(
'fromdate' => $dateFrom->format('Y-m-d H:i:s'),
'todate' => $dateTo->format('Y-m-d H:i:s')
);
// Execute the query and store the results in $results
$results = $read->fetchAll($query,$binds);
echo "rows : ".count($results);
echo "<br>";
print_r($results);
}


else {
echo "error you have not specified any dates";
}
Run Code Online (Sandbox Code Playgroud)

完整代码:http://pastebin.com/hMUEusvb

Asi*_*aka 1

可以使用js来统计行数。在代码末尾添加以下代码。将 selecter1 替换为仅用于行的类名。在浏览器中检查您的页面,找到一个仅在行中出现且连续使用一次的类。然后将 selecter2 替换为要显示行数的类或 id。

<script>    
$(document).ready(function () {
    var count = 0;
    //use class unique in each row.
    $("selector1").each(function () {
         count++;
    });
    //use class or id where you want to display count
    $("selector2").prepend("Number of rows "+count);
});
Run Code Online (Sandbox Code Playgroud)

如果你想通过PHP来处理它。请将代码粘贴到呈现搜索结果的位置。您当前的代码不起作用,因为您的代码在文件http://pastebin.com/QKMj0k2p的第 293 行发送响应 您可以在浏览器的网络选项卡中找到它,并在搜索提交中查看它发送请求的位置以及来自的响应那里。如果您可以找到它在哪里发送响应,那么就很容易知道哪些代码正在渲染行。这将更有利于解决您的问题。