我想做的是: 我有一个名为Stations的表,它有100列。我想从Stations中选择所有记录并随机选择1条记录并回显随机记录。
这是我到目前为止所得到的:
<?PHP
$connect = mysql_connect("***", "****", "****") or die("Connection Failed");
mysql_select_db("***");
$query = mysql_query("SELECT * FROM Stations ORDER BY RAND() LIMIT 1");
WHILE($rows = mysql_fetch_array($query)):
$Station = $rows['Station1'];///seems it will only show Station1 Column I have Station1 to Station100 was not sure how to add rest of Stations
endwhile;
?>
答案 0 :(得分:0)
由于您将结果集限制为仅一行,因此您不需要 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
synchronized(this){
if( request.getSession().getAttribute("mySessionVariable") == null )
request.getSession().setAttribute("mySessionVariable", new AtomicInteger(0));
((AtomicInteger) request.getSession().getAttribute("mySessionVariable")).incrementAndGet();
}
}
循环。只需从结果集中获取行并在之后使用它,如下所示:
while()
现在回答你的问题,
...它只显示Station1列我有Station1到Station100不知道如何添加其余的站
要显示所有百列值,最好像这样使用$rows = mysql_fetch_array($query);
循环,
for
<强>更新强>
根据您的评论,
...我需要它从所有100列中随机选择1个值并回复该值
从结果集中获取行后,使用array_rand()
函数从数组中获取随机密钥,然后使用该键显示列值,如下所示:
for($i = 1; $i <= 100; ++$i){
// display $rows['Station' . $i] as per your choice. Below is one way.
echo $rows['Station' . $i] . '<br />';
}
旁注:不要使用$randKey = array_rand($rows);
echo $rows[$randKey];
函数,从PHP 5.5开始不推荐使用它们,并且在PHP 7.0中完全删除它们。请改用mysqli
或PDO
扩展程序。另请阅读why shouldn't I use mysql_*
functions in PHP?。