我正在尝试创建一个网站,用户可以在该网站上对游戏中的不同项目进行投票,例如等级列表。我希望用户投票的项目来自该表中的随机表和随机行。
现在,我设置了以下代码来查找随机项:
$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
数组是在本地声明的,但我必须能够这样做,以便我可以设置一个按钮来对项目进行投票。
答案 0 :(得分:0)
您可以SELECT
另一个带有文本常量的列来表示选择了哪个实体:
$ran = mt_rand(1, 10);
switch ($ran) {
case "1":$sql = "SELECT 'ditem' as entity, 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 'citem' as entity, item, rating FROM citems ORDER BY RAND() LIMIT 1";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
echo $row["item"];
};
etc