仅使用1个查询在排行榜中回显toppers

时间:2016-12-08 06:45:19

标签: javascript php html css sql-server

我使用下面的php代码从EmployeeTable中检索前8位(因为它无关紧要,我在下面没有包含连接部分):

$q4 = "select top 8 *
from EmployeeTable
order by LevelFieldTotal desc";

$stmt3=sqlsrv_query($conn,$q4);
if($stmt3==false)
{
echo 'error to retrieve info !! <br/>';
die(print_r(sqlsrv_errors(),TRUE));
}
$toprow2=sqlsrv_fetch_array($stmt3);

我想回应这个排行榜中的前8名:https://jsfiddle.net/o20n61eu/4/

我试图在html中回应它,但我只是在热门话题中得到回应。

我如何在排行榜中回应,这样我就能通过上面的php变量看到排行榜中的所有前8名人物,其中包含top8。

我不想为每个人单独做。我想使用上面的查询并通过一个查询获取top8并回显它。

html的一部分,我试图回显php变量:(它也在上面的fiddele链接中)

<div id="overalllb" class="leadboardcontent" style="display:none">
  <div class="leaderboard">

    <ol>
      <li>
        <mark>
          <?php echo "". $toprow2[ 'EmployeeName'] . ""?>
        </mark>
        <small><?php echo "". $toprow2['Total_points_Rewarded'] .""?></small>
      </li>
      <li>
        <mark>Brandon Barnes1</mark>
        <small>3101</small>
      </li>
      <li>
        <mark>Raymond Knight1</mark>
        <small>2192</small>
      </li>
      <li>
        <mark>Trevor McCormick1</mark>
        <small>2145</small>
      </li>
      <li>
        <mark>Andrew Fox1</mark>
        <small>2103</small>
      </li>
      <li>
        <mark>And1rew Fox1</mark>
        <small>2103</small>
      </li>
      <li>
        <mark>Tre1vor McCormick1</mark>
        <small>2145</small>
      </li>
      <li>
        <mark>Andrew Fox1</mark>
        <small>2103</small>
      </li>

    </ol>
  </div>
</div>

@Magnus和@Mayank

建议的

解决方案

<div id="overalllb" class="leadboardcontent" style="display:none">
  <div class="leaderboard">

    <ol>
      <li>

        <mark>
          <?php while( $toprow2=s qlsrv_fetch_array( $stmt3) ) { echo $toprow2[ 'overallRank'] . "&nbsp;&nbsp;&nbsp;".$toprow2[ 'EmployeeName'] . "&nbsp;&nbsp;&nbsp;".$toprow2[ 'Total_points_Rewarded']. "<br/>";} ?>
        </mark>

      </li>
    </ol>
  </div>
</div>

请帮助。谢谢。上帝保佑。

2 个答案:

答案 0 :(得分:2)

使用它:

function myFunction() {
    var input, filter, ol, li, a, i;
    input = document.getElementById("search52");
    filter = input.value.toUpperCase();
    ol = document.getElementById("myOL");
    li = ol.getElementsByTagName("li");
    divs=li[0].getElementsByClassName("parent-div");
    for (i = 0; i < divs.length; i++) {
        a = divs[i].getElementsByClassName("name")[0];
        if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
            divs[i].style.display = "";
        } else {
            divs[i].style.display = "none";
        }
    }
}

答案 1 :(得分:1)

检查此行:

$stmt3=sqlsrv_query($conn,$q4);

此处 $ stmt3 是一种sql资源类型,您必须迭代它以获取所有数据或使用

  

sqlsrv_fetch_array - 将一行返回为数组

array sqlsrv_fetch_array ( resource $stmt [, int $fetchType [, int $row [, int $offset ]]] )

将下一个可用的数据行作为关联数组,数字数组或两者(默认值)返回。

Documentation