获取随机行PHP的列名称

时间:2016-12-14 19:35:25

标签: php

我有一个包含5列的表(id,s1,s2,s3,s4),让我们说3行:

First one -> (1, 40, 30, 20, 15) 
Second one -> (2, 22, 32, 45, 18)
Third one -> (3, 89, 24, 65, 12)

所以我从4s列中得到一个随机行,例如第一行id。

$query = "SELECT s1, s2, s3, s4 FROM table WHERE id = 1";
$result = mysql_query($query);
$row = mysql_fetch_assoc($result);
echo $row[array_rand($row, 1)].'<br>';

有了这个,我从第1行的id行中得到4个列(40,30,20或15)之间的随机数,但我真正想得到的是该列的名称,而不是值列中的那个字段(不是40,30,20或15,但是s1,s2,s3或s4)所以我可以稍后打印该名称(如果s1,s2,s3或s4是,则加载图像或其他图像选择)并更新随机字段少1(如果我得到s1,40是39,或者如果随机是s2,30则是29,等等)。

我不知道我的逻辑是否错误,或者我应该对表格采用不同的方法。

提前致谢!

2 个答案:

答案 0 :(得分:0)

就这样使用它:

echo array_rand($row).'<br>';

答案 1 :(得分:0)

array_rand返回列名。所以只需将其分配给另一个变量:

$col = array_rand($row, 1);
$col_value = $row[$col];