0

次のコードがあります。

$getrand = "SELECT DISTINCT Name from Events Order BY Rand() Limit 1";
$result = mysqli_query($con,$getrand);
$data = mysqli_fetch_array($result);
echo "<div class = 'container'>Name: $data[0]</br>";
$gettags = "SELECT Tag From Events where Name = '$data[0]'";
$tagresult = mysqli_query($con, $gettags);
$tagdata = mysqli_fetch_array($tagresult);
echo "$tagdata[0], $tagdata[1]";

ただし、 から 1 つの値のみを返していますtagdata。私のデータベースは次のようになります。

ID | 名前 | 鬼ごっこ

また、1 つの名前に対して複数のタグが存在する場合があります (つまり、名前ごとに複数のタグの行)。

4

1 に答える 1

1

このようにレコードセットをループする必要があります...

$getrand = "SELECT DISTINCT Name from Events Order BY Rand() Limit 1";
$result = mysqli_query($con,$getrand);
$data = mysqli_fetch_array($result);
echo "<div class = 'container'>Name: $data[0]</br>";
$gettags = "SELECT Tag From Events where Name = '$data[0]'";
$tagresult = mysqli_query($con, $gettags);

while($tagdata = mysqli_fetch_array($tagresult)) // a while loop has been used here
{
echo $tagdata['Tag'];// 'tag' your column name (change it as per your requirement)
}
于 2013-11-09T18:47:47.490 に答える