使表计数行

问题描述 投票:0回答:2

我有一个表格,该表格会自动添加或删除行。我想使表格计数这些行并给它们编号。例如;


| #|姓名|姓|


| 1 |杰克默里|


| 2 |玛丽亚|棕色|


这是我的代码;

不用担心php代码。我只需要修复javascript。它可能不起作用,因为我没有将php代码放在表中。

var number = document.getElementById ( "nmr" ).innerText;
if (number = 1){
  number = number + 1;
}
<table class="table">
  <tr>
    <th>#</th>
    <th><b>Name</b></th>
    <th><b>Email</b></th>
    <th><b>The Lowest Money</b></th>
    <th><b>The Most Money</b></th>
    <th><b>Currency</b></th>
    <th><b>Age</b></th>
    <th><b>Gender</b></th>
    <th><b>Hobby 1</b></th>
    <th><b>Hobby 2</b></th>
    <th><b>Reason</b></th>
    <th><b>Favorite Color</b></th>
    <th></th>
    <th></th>
  </tr>
  
  <?php
  require 'inc/session.ic.php';

  $sql = "SELECT * FROM people WHERE username='" . $_SESSION[ "uid" ] . "'";
  $res = mysqli_query( $conn, $sql );


  ?>
  <?php
  while ( $row = mysqli_fetch_assoc( $res ) ) {

    $sql = "SELECT * FROM supportus WHERE emailUsers=\"" . $row["emailPerson"] ."\"";
	$res2 =  mysqli_query($conn, $sql);
	  $giftExists = mysqli_num_rows($res2) > 0;
    // eger varsa, asagidaki butonu degistir.
    ?>
  
  <tr>
    <th id="nmr">1</th>
    <td id="name"><?=$row["name"]?></td>
    <td id="email"><?=$row["emailPerson"]?></td>
    <td id="moneyLow"><?=$row["least"]?></td>
    <td id="moneyMuch"><?=$row["much"]?></td>
    <td id="currency"><?=$row["currency"]?></td>
    <td id="age"><?=$row["age"]?></td>
    <td id="gender"><?=$row["gender"]?></td>
    <td id="hobby 1"><?=$row["likes_main"]?></td>
    <td id="hobby 2"><?=$row["likes_sub"]?></td>
    <td id="reason"><?=$row["reason"]?></td>
    <td id="fovColor"><?=$row["color"]?></td>
    <?php if ($giftExists) {?>
    <td><a style="margin-top: 40px;" href="giftIdeas.php" class="btn btn-primary btn-sm active" role="button" aria-pressed="true">See Gifts??</a></td>
    <?php } else {?>
    <td><a style="margin-top: 40px;" href="giftIdeas.php" class="btn btn-primary btn-sm active" role="button" aria-pressed="true">See Gift Ideas</a></td>
    <?php } ?>
    <td><a style="margin-top: 40px;" href="2-kisi.php?deleteid=<?=$row["id"]?>" class="btn btn-primary btn-sm active" role="button" aria-pressed="true">Delete Person</a></td>
  </tr>
  <?php } ?>
</table>
javascript html
2个回答
0
投票

关于const行= TR上的document.querySelectorAll的影响是什么,然后.length将是下一个数字(因为从头开始的tr基本上是您通常会增加该数字的+1)


0
投票

确实不清楚这里到底是什么问题-如果只是为每行添加一个数字,可以在PHP循环中轻松实现(设置变量并在每次循环迭代中递增。)

进一步的混乱,因为根据该问题,可以自动添加或删除行,但尚不清楚如何或为什么发生这种情况。 javascript不正确,HTML也不正确,因为在每个TD上设置了重复的ID属性,如果确实需要,最好使用dataset属性,但是针对DOM中的特定元素可以是一个更好的选择使用dataset和/或querySelector

完成

以下代码使用一段简单的Javascript(&querySelectorAll)查找表中所有相关的表单元格,并为每个单元格分配一个整数。由于querySelector,如果添加或删除了一行,则整数将不再准确-因此,使用querySelectorAll来监视DOM以了解表的更改。

我希望这会有所帮助。

querySelectorAll
"table which automatically adds rows or removes them"

如果这涉及到复杂的事情,并且您只需要在每行上显示一个数字,并且页面加载后表格没有变化,则可以使用提到的PHP进行添加,或者甚至可以使用CSS

© www.soinside.com 2019 - 2024. All rights reserved.