我有一个包含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,等等)。
我不知道我的逻辑是否错误,或者我应该对表格采用不同的方法。
提前致谢!
答案 0 :(得分:0)
就这样使用它:
echo array_rand($row).'<br>';
答案 1 :(得分:0)
array_rand
返回列名。所以只需将其分配给另一个变量:
$col = array_rand($row, 1);
$col_value = $row[$col];