更新时间:2023-02-26 12:43:48
以您的表格示例为例:
username ticket_number queue_time
Doc 0 0 The 1st 3 not in sorted result
Grumpy 0 0
Happy 0 0
Sleepy 1 111 The following are in sorted result
Bashful 2 222
Sneezy 0 333
SnowWhite ??? 444 This is the current user (assign ???=4)
Dopey 0 555
EvilQueen 0 666
如何将值4分配给用户名SnowWhite的ticket_number列,其中4是在初始行的排序选择中该行的排名:
how to assign the value 4 to the column ticket_number of the username SnowWhite, 4 being the rank of the row in a sorted selection of the initial rows:
首先获得排序结果:
$result = mysql_query("SELECT * FROM table WHERE [here the condition for your sorted array]");
// don't forget to remove the []. they don't go there.
while ($row = mysql_fetch_assoc($result))
{$array[] = $row;}
这应该使您像:
[0] [username] [Sleepy]
[ticket_number] [1]
[queue_time] [111]
[1] [username] [Bashful]
[ticket_number] [2]
[queue_time] [222]
[2] [username] [Sneezy]
[ticket_number] [0]
[queue_time] [333]
[3] [username] [SnowWhite]
[ticket_number] [NULL]
[queue_time] [444]
然后遍历数组
foreach ($array as $number => $row)
{if ($row[username] == $userinfo)
{$result = mysql_query('UPDATE table SET ticket_numer=' . ($number+1) . ' WHERE username=' . $userinfo);}}
与用户名SnowWhite对应的行将获得($ number +1)(3 +1)作为ticket_number
the row corresponding to username SnowWhite will get ($number + 1) (3 + 1) as ticket_number