gpt4 book ai didi

php - 如何对 mysql 结果进行编号

转载 作者:行者123 更新时间:2023-11-29 04:53:22 25 4
gpt4 key购买 nike

如何对 mySQL 结果进行编号。我试图使用 $_SESSION[],但我不能。请帮助我

<?php

$id=$_POST['id'];
function showmember($id){
$int=$_SESSION['int']+1;
$query = mysql_query("SELECT id,name,sponsorid,node FROM ".memberlogtbl." WHERE locationid='".$id."' ORDER BY join_time DESC LIMIT 500");
$total=mysql_num_rows($query);
while($sql=mysql_fetch_array($query)){
echo "<tr style='border:1px solid #777'>
<td>&nbsp;$int</td>
<td>&nbsp;".$sql['id']."</td>
<td>&nbsp;".$sql['name']."</td>
<td>&nbsp;".$sql['sponsorid']."</td>
<td>&nbsp;".$sql['node']."</td>
<td>&nbsp;".(date('d/m/y : h:iA', $sql['join_time']))."</td>
</tr>";
showmember($sql["id"]);
}
mysql_free_result($query);
}
showmember($id);
}
unset($_SESSION['int']);

?>

我想像下面那样做:

1 H. Andri 17667 离开 12/12/2011
2 A. Kumar 32321 离开 12/12/2011
3 D. Das 12121 右 1/1/2012
......等等编号

最佳答案

首先,整理您的输入。使用:

$id=intval($_POST['id']);

这样您就可以避免 SQL 注入(inject)攻击。

其次,这里发生了一件奇怪的事情......你正在使用递归函数而不是仅仅准备一个漂亮的 SQL 语句......我不确定你在那里试图做什么但它看起来真的诡异的。你为什么递归地做它?从理论上讲,您正在执行大量查询,而不仅仅是一个查询,而且那里有一个奇怪的结构(您从表中获取 id 然后准备一个语句,您可以在其中使用该值并进行比较使用 locationid,你的表中的键/索引是什么?它不应该是唯一的吗?)

第三,您可以简单地拥有一个像 $i 这样的变量,您可以在 while 循环的末尾增加它 ($i++)。目前您正在显示一些 $_SESSION 变量,我不确定您使用的是什么。它不会工作,因为你没有在你的递归函数中传递那个变量,所以它总是相同的。您可以改用 $_GLOBAL 值。但无论如何,最好的方法是简单地为你的 while 循环准备一个变量。所以在你的 while 子句之前添加:

$i = 1;

然后在 while 循环的末尾添加

$i++;

并在您的第一个表格单元格中显示该变量。

最后,我假设 memberlogtbl 已被设置为常量,正如您所指的那样(即您没有将其视为变量,$memberlogtbl) .

总的来说,您的代码确实非常困惑,并且可能存在很多错误。我会考虑重写它。

关于php - 如何对 mysql 结果进行编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180004/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com