【发布时间】:2016-10-30 18:43:59
【问题描述】:
我正在尝试创建一个网站,用户可以在其中对游戏中的不同项目进行投票,例如等级列表。我希望用户投票的项目来自随机表和该表中的随机行。
现在,我设置了以下代码来查找随机项:
$ran = mt_rand(1, 10);
switch ($ran) {
case "1":$sql = "SELECT item, rating FROM ditems ORDER BY RAND() LIMIT 1";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo $row["gun"];
};
break;
case "2":$sql = "SELECT item, rating FROM citems ORDER BY RAND() LIMIT 1";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo $row["item"];
};
etc
我遇到的问题是我无法访问switch{} 语句之外的所选项目,因为$row 数组是在本地声明的,但我必须能够这样做才能做到设置一个按钮来对项目进行投票。
编辑:我决定将所有项目放在一个表中并使用 按兰德限 1 排序
【问题讨论】:
-
您的商品是否有任何 ID 可用于配对商品?你能显示更多你的代码吗?目前,我没有看到足够的信息来帮助您。
-
为什么要多张桌子?
-
当您的查询只返回一条记录时,为什么要使用
while?然后你有$ran,它指定了你从哪个表中获取了记录,你为什么不能用它来设置按钮?和@Strawberry 一样,为什么你有不止一张桌子?!这些表的数据结构是否相互不同?