London O'Connell
London O'Connell

Reputation: 79

Creating An Array from MYSQLI query

I am updating all my code to Mysqli, before I did I had this code and it worked:

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

This is my SELECT statement:

$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";
}

The SELECT statement ends up echoing all of the correct information, but I want to make an array of only the Id's so that I can pick one at random each time a button is clicked.

I have tried multiple different copies and pastes of code to try and get what I want, but nothing seems to come out right.

Can someone point me in the right direction or explain what I'm doing wrong?

Upvotes: 1

Views: 1134

Answers (1)

Asim
Asim

Reputation: 1480

In your while loop you can simply do this :-

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

And then you can create a random number by "rand()" between the length of 0-$i and can get the job done.

Upvotes: 1

Related Questions