加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

php – 从mysql查询中打印一个随机行

发布时间:2020-12-11 23:39:18 所属栏目:MySql教程 来源:网络整理
导读:我一直在寻找一种创建协作翻译小部件的方法.所以我有一个mysql数据库和表(称为翻译),以及一个允许用户一次翻译一个页面的小脚本. 但我不太相信我的剧本.我觉得它不够高效.首先,mysql获取所有具有空“en”列的行,然后通过屏幕显示其中一个行.有没有其他方法这

我一直在寻找一种创建协作翻译小部件的方法.所以我有一个mysql数据库和表(称为翻译),以及一个允许用户一次翻译一个页面的小脚本.

但我不太相信我的剧本.我觉得它不够高效.首先,mysql获取所有具有空“en”列的行,然后通过屏幕显示其中一个行.有没有其他方法这样做?这是代码:

//Retrieve all the data from the "translations" table
$result = mysql_query("SELECT * FROM translations WHERE en IS NULL OR en=''") or die(mysql_error());

$Randnum=rand(0,mysql_num_rows($result)-1); //Gets a random number between 0 and the maximum number of rows
$i=0;   //Start to 0
while($Col = mysql_fetch_array($result))  //While there are rows to evaluate
    {
    if ($i==$Randnum)
        {
        echo """.$Col['es'].""

我正在寻找类似“echo $Col [$Randnum] [‘es’]”或“echo $Col. $Randnum [‘es’]”的内容,而不是使用整个while循环来打印单个随机行.我该如何实现呢?如果只是优化问题.如果你可以带一个脚本或想法来分配$Col只有一行随机数和空’en’col,那就更好了! (我认为最后一点不可能). ‘en’行是文本,所以我不知道如何实现我见过的other methods,因为他们使用ORDER BY编号. 最佳答案 您可以在查询中使用ORDER BY RAND()LIMIT 1从数据库中获取单个随机行.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读