0

我有一个数据库,我在其中手动添加数据。一些领域是:

ID AA Name Percentage(will be changing once a week)

1   2.  Me     10%

2   1.  You    40%

当我用我的动态列表调用数据库时,我会得到所有按百分比排序的名称。为了得到这个结果,我需要它的 AA 列:

1. You  40%
2. Me   10%

很容易手动使用 AA 列(因为我的条目不超过 10-15)并将其与百分比匹配,因此我得到了我需要的正确显示。

但是,如果我的条目变为例如 30,则很难始终更改 AA 列以与百分比一匹配。

那么我可以对我的 dynamic_list.php 做任何修改,以便我得到 1. 2. 自动生成吗?这是我的dynamic_list.php:

$sql = mysql_query("SELECT * FROM clients WHERE Category='Deksioseis' ORDER BY percentage DESC");
$productCount = mysql_num_rows($sql);
// count the output amount
if ($productCount > 0) {
        $i=0;
            $dynamicListDeks = '<table id="pl_list" class="list">';
            while($row = mysql_fetch_array($sql)){
                $id = $row["ID"];
                $aa = $row["AA"];
                $client_name = $row["Client_Name"];
                $short_name = $row["Short_Name"];
                $details = $row["Details"];
                $percent = $row["Percentage"];
        $dynamicListDeks .= ($i==0) ? '<tr>':'';
        $dynamicListDeks .= '<td class="lst_aa">
                        ' . $aa . '
                     </td>
                                     <td class="lst_l">
                        <img src="../rooms/' . $short_name  . '.png" alt="' . $client_name . '" />
                     </td>
                     <td class="lst_nam">
                        <a id="' . $short_name . '" name="' . $short_name . '" class="room">' . $client_name . '</a>
                                     </td>
                     <td class="lst_det">
                    ' . $details . '
                     </td>
                         <td class="lst_per">
                    ' . $percent . '%
                    <br />
                     </td>';
        $dynamicListDeks .= ($i==1) ? '</tr>':'';
        $i++;
        ($i==2) ? $i=0:'';
        }
        $dynamicListDeks .='</table>';
        } else {
            $dynamicListDeks = "";
            }
        mysql_close();
4

2 回答 2

2

在 PHP 代码中保留一个计数器,每次循环运行都会递增:

$aa = 0;
while($row = mysql_fetch_array($sql)){
  $id = $row["ID"];
  $aa++;
于 2012-06-20T11:51:51.637 回答
0

您可以添加变量,而不是将 AA 保存在数据库中,该变量将保留 AA 的值,您可以稍后显示。

        $sql = mysql_query("SELECT * FROM clients WHERE Category='Deksioseis' ORDER BY percentage DESC");
        $productCount = mysql_num_rows($sql);
        // count the output amount
        if ($productCount > 0) {
        $i=0;
        $aa=0;

        $dynamicListDeks = '<table id="pl_list" class="list">';
        while($row = mysql_fetch_array($sql)){
            $id = $row["ID"];
            $aa++;
            $client_name = $row["Client_Name"];
            $short_name = $row["Short_Name"];
            $details = $row["Details"];
            $percent = $row["Percentage"];
    $dynamicListDeks .= ($i==0) ? '<tr>':'';
    $dynamicListDeks .= '<td class="lst_aa">
                    ' . $aa . '
                 </td>
                                 <td class="lst_l">
                    <img src="../rooms/' . $short_name  . '.png" alt="' . $client_name . '" />
                 </td>
                 <td class="lst_nam">
                    <a id="' . $short_name . '" name="' . $short_name . '" class="room">' . $client_name . '</a>
                                 </td>
                 <td class="lst_det">
                ' . $details . '
                 </td>
                     <td class="lst_per">
                ' . $percent . '%
                <br />
                 </td>';
    $dynamicListDeks .= ($i==1) ? '</tr>':'';
    $i++;
    ($i==2) ? $i=0:'';
    }
    $dynamicListDeks .='</table>';
    } else {
        $dynamicListDeks = "";
        }
    mysql_close();
于 2012-06-20T11:50:42.807 回答