当前位置: 首页 > 知识库问答 >
问题:

从数据库中选择后,从数组中选择随机值

焦同
2023-03-14

我试图从一个数组中获得一个随机值,该数组填充了来自数据库的数据。我从数据库中选择一些产品,并在首页上显示它们,但每次页面重新加载时,我需要显示不同的(随机)产品。

$row = mysql_query("SELECT * FROM anunt WHERE lichidareStoc = 0 ORDER BY anuntID DESC") or die(mysql_error());
$row2 = mysql_fetch_assoc($row);

因此,我认为$row2现在是一个数组,它包含了我以前从数据库中选择的所有信息。现在如何从该数组中选择随机“行”?

谢啦

共有3个答案

严天逸
2023-03-14

您首先需要填充一个结果数组

$row = mysql_query("SELECT * FROM anunt WHERE lichidareStoc = 0 ORDER BY anuntID DESC") or die(mysql_error());
$rows = array();
while($rec =  mysql_fetch_assoc($row)){
    $rows[] = $rec;
}

然后您可以使用array\u rand选择一个随机项

$random = $rows[array_rand($rows)];
公冶和豫
2023-03-14

如果你想选择一个随机条目,你可以这样做:

$myRows=array();
$row = mysql_query("SELECT * FROM anunt WHERE lichidareStoc = 0 ORDER BY anuntID DESC") or die(mysql_error());
while($row2 = mysql_fetch_assoc($row))
    $myRows[]=$row2;

$randomEntry=$myRows[array_rand($myRows)];

如果你想要这个条目的随机字段,你应该使用伯恩哈德·波伊斯指出的array_rand。

$row = mysql_query("SELECT * FROM anunt WHERE lichidareStoc = 0 ORDER BY anuntID DESC") or die(mysql_error());
$row2 = mysql_fetch_assoc($row);
$randomField=$row2[array_rand($row2)];
关玄裳
2023-03-14

您正在寻找array_rand,请参阅:http://php.net/manual/en/function.array-rand.php

例子:

$rand_key = array_rand($row2);
echo $row2[$rand_key]; // your random

您也可以直接从数据库中选择随机行:

SELECT * 
FROM anunt
WHERE lichidareStoc = 0
ORDER BY rand() 
LIMIT 1

但是请注意,这会降低您的性能,尤其是在较大的桌子上。

旁注:mysql_*函数已被弃用,请改用mysqli_*函数。

 类似资料:
  • 问题内容: 我有两个相关的numpy数组和。我需要从中选择随机行,并将其存储在数组中,并将其对应的值附加到随机选择的点的索引上。 我有另一个数组,它存储我不想采样的索引列表。 我怎样才能做到这一点? 样本数据: 如果这些是随机选择的(其中): 所需的输出将是: 我怎样才能做到这一点? 问题答案: 您可以使用以下方法创建随机索引: 然后,您只需要使用结果索引数组:

  • 问题内容: 我有一个数字值数组,我想从该数组中随机选择一个值,然后将其插入变量中。 我不确定您需要查看什么代码。所以, 这是我用来生成13个数字(1-13)并将其插入到数组中的循环。 效果很好,但是现在我需要从该数组中选择2个随机值(然后将其插入变量中,以备后用。 我到过很多网站,已经看到了类似的事情,例如将值插入到数组中,然后用于从数组中选择值,然后从数组中删除它。但是,无论何时我使用它都行不通

  • 问题内容: 我可以使用列出所有组合, 但这通常会很大。 给定和,我如何在不首先构建大量列表的情况下随机地均匀选择组合? 问题答案: 来自http://docs.python.org/2/library/itertools.html#recipes

  • 本文向大家介绍如何从MySQL数据库中选择随机记录?,包括了如何从MySQL数据库中选择随机记录?的使用技巧和注意事项,需要的朋友参考一下 为此,您可以使用ORDER BY RAND LIMIT。让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表中的所有记录- 这将产生以下输出- 这是从MySQL数据库中选择随机记录的查询- 这将产生以下输出-

  • 问题内容: 假设我有一个数组,我想随机选择一个元素。 最简单的方法是什么? 明显的方法是。但是也许有红宝石之类的东西?或者如果不能通过扩展创建这种方法? 问题答案: Swift 4.2及更高版本 推荐的新方法是Collection协议的内置方法:。它返回一个可选参数以避免我以前假设的空情况。 如果不创建数组并且不能保证count> 0,则应执行以下操作: Swift 4.1及以下 只是为了回答您的

  • 假设我有一个数组,我想随机选择一个元素。 最简单的方法是什么? 最明显的方法是数组[随机索引]。但可能有类似ruby的数组。示例 ?或者,如果不是,那么可以使用扩展创建这样的方法吗?

  • 问题内容: 我正在尝试从以下查询中获取行数。我只得到行计数为1,但有35条记录。您能否让我知道如何从内部查询中获取计数? 谢谢 问题答案: 您缺少FROM,需要为子查询指定别名。

  • 问题内容: 我有一个称为Data的数据库,它是数据库中每个实体的父级。它包含Id等通用属性。然后,我有了一个扩展Data的实体,这也是由于其子类的通用功能而引起的。我的数据库中的映射是正确的。 这是我的等级制度的一个例子 并且表已正确映射: 无论如何,是否在数据库中查询所有作为Employee实例的Employee子类(FullTimeEmployee,PartTimeEmployee),而不在查