从MYSQLI查询创建数组

时间:2017-10-05 21:35:30

标签: php arrays select mysqli

我正在将我的所有代码更新到Mysqli,在此之前我已经使用了此代码并且它有效:

while($row = mysql_fetch_assoc($WildHorses)){
     $InWild[] = $row['id'];
   }
$RandomWild = array_rand($InWild);
$RandomHorse = $InWild[$RandomWild];

这是我的SELECT语句:

$sql = "SELECT Horse.id, Horse.Name, Horse.Age, Horse.Image_name, Horse.Owner, Horse.Barn, Images.Image_path, Images.Image_name FROM Horse, Images WHERE Horse.Owner = '$colname_WildHorseList' AND Images.Image_name = Horse.Image_name";

$result = mysqli_query($con,$sql);

if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
    echo "id: " . $row["id"]. " Name: " . $row["Name"]. " ImageName: " . $row["Image_name"]. "<br>";
}
} else {
echo "0 results";
}

SELECT语句最终会回显所有正确的信息,但我想创建一个只有Id的数组,以便每次单击一个按钮时我可以随机选择一个。

我尝试了多种不同的副本和代码来尝试获得我想要的东西,但似乎没有任何东西出现。

有人能指出我正确的方向还是解释我做错了什么?

1 个答案:

答案 0 :(得分:1)

在你的while循环中你可以这样做: -

$i=0;
$animals=array();
$animals[$i]=$row["id"];    //puts id in array

然后你可以在0- $ i的长度之间用“rand()”创建一个随机数 并且可以完成工作。