从一个表中选择多个随机值?PHP

从一个表中选择多个随机值?PHP,php,random,mysqli,Php,Random,Mysqli,我想要3张随机图像,第一张有效,但另外两张不行。 最好,我想挑选两个其他的图像,然后第一个和第二个,第三个都是不同的 这是我的密码: $content .= '<div>'; $qryFirstImage = "SELECT a.KW, a.KWKidsBeschrijving, a.Titel, b.GebruikersNaam FROM tblKWKids AS a LEFT JOIN tbl

我想要3张随机图像,第一张有效,但另外两张不行。 最好,我想挑选两个其他的图像,然后第一个和第二个,第三个都是不同的

这是我的密码:

$content .= '<div>';
$qryFirstImage = "SELECT a.KW, a.KWKidsBeschrijving, a.Titel, b.GebruikersNaam
                      FROM tblKWKids AS a
                      LEFT JOIN tblUser AS b
                      ON a.UserID = b.UserID
                      ORDER BY RAND()";
                      if ($stmt = mysqli_prepare($dbconn, $qryFirstImage)) {
                      mysqli_stmt_bind_result($stmt, $KW, $KWKidsBeschrijving, $TitelKW, $GebruikersNaam);
                      mysqli_stmt_execute($stmt);
                      mysqli_stmt_fetch($stmt);
                      mysqli_close($dbconn);
                      }
$content .= '<img src="' . $KW . '" width="240px" height="240px" alt="' . $TitelKW . '" title="' . $TitelKW . '">';
$content .= '<h5>' . $TitelKW . ' door: ' . $GebruikersNaam . '</h5>';
$content .= '<p>' . $KWKidsBeschrijving . '</p>';
$content .= '</div>';

$content .= '<div>';
$qrySecondImage = "SELECT a.KW, a.KWKidsBeschrijving, a.Titel, b.GebruikersNaam
                      FROM tblKWKids AS a
                      LEFT JOIN tblUser AS b
                      ON a.UserID = b.UserID
                      ORDER BY RAND()";
if ($stmt2 = mysqli_prepare($dbconn, $qrySecondImage)) {
    mysqli_stmt_bind_result($stmt2, $KW2, $KWKidsBeschrijving2, $TitelKW2, $GebruikersNaam2);
    mysqli_stmt_execute($stmt2);
    mysqli_stmt_fetch($stmt2);
}
$content .= '<img src="' . $KW2 . '" width="240px" height="240px" alt="' . $TitelKW2 . '" title="' . $TitelKW2 . '">';
$content .= '<h5>' . $TitelKW2 . ' door: ' . $GebruikersNaam2 . '</h5>';
$content .= '<p>' . $KWKidsBeschrijving2 . '</p>';
$content .= '</div>';


$content .= '<div>';
$qryThirdImage = "SELECT a.KW, a.KWKidsBeschrijving, a.Titel, b.GebruikersNaam
                      FROM tblKWKids AS a
                      LEFT JOIN tblUser AS b
                      ON a.UserID = b.UserID
                      ORDER BY RAND()";
                      if ($stmt3 = mysqli_prepare($dbconn, $qryThirdImage)) {
                          mysqli_stmt_bind_result($stmt3, $KW3, $KWKidsBeschrijving3, $TitelKW3, $GebruikersNaam3);
                          mysqli_stmt_execute($stmt3);
                          mysqli_stmt_fetch($stmt3);
                      }
$content .= '<img src="' . $KW3 . '" width="240px" height="240px" alt="' . $TitelKW3 . '" title="' . $TitelKW3 . '">';
$content .= '<h5>' . $TitelKW3 . ' door: ' . $GebruikersNaam3 . '</h5>';
$content .= '<p>' . $KWKidsBeschrijving3 . '</p>';
$content .= '</div>';
$content.='';
$qryFirstImage=“选择a.KW、a.KWCIDSBESCHRIJING、a.Titel、b.GebruikersNaam
从tblKWKids作为
左连接tblUser为b
在a.UserID=b.UserID上
兰德订单();
如果($stmt=mysqli_prepare($dbconn,$qryFirstImage)){
mysqli_stmt_bind_result($stmt、$KW、$KWKidsBeschrijving、$TitelKW、$GebruikersNaam);
mysqli_stmt_execute($stmt);
mysqli_stmt_fetch($stmt);
mysqli_close($dbconn);
}
$content.='';
$content.=''$蒂特尔克。”门:'$"",;
$content.=''$Kwkidsbechrijing。”

",; $content.=''; $content.=''; $qrySecondImage=“选择a.KW、a.kwkidsbchrijving、a.Titel、b.GebruikersNaam 从tblKWKids作为 左连接tblUser为b 在a.UserID=b.UserID上 兰德订单(); if($stmt2=mysqli_prepare($dbconn,$qrySecondImage)){ mysqli_stmt_bind_result($stmt2、$KW2、$KWKidsBeschrijving2、$TitelKW2、$GebruikersNaam2); mysqli_stmt_execute($stmt2); mysqli_stmt_fetch($stmt2); } $content.=''; $content.=''$滴度kW2。”门:'$GebruikersNaam2.“; $content.=''$KWKidsBeschrijving2.“

",; $content.=''; $content.=''; $qryThirdImage=“选择a.KW、a.KWKIDSBCHRIJVING、a.Titel、b.GebruikersNaam 从tblKWKids作为 左连接tblUser为b 在a.UserID=b.UserID上 兰德订单(); 如果($stmt3=mysqli\u prepare($dbconn,$qryThirdImage)){ mysqli_stmt_bind_result($stmt3、$KW3、$KWKidsBeschrijving3、$TitelKW3、$GebruikersNaam3); mysqli_stmt_execute($stmt3); mysqli_stmt_fetch($stmt3); } $content.=''; $content.=''$TitelKW3。”门:'$GebruikersNaam3.“; $content.=''$KWKidsBeschrijving3.“

",; $content.='';
请看那些

写了很少的代码,搜索和更多

$qryFirstImage=“选择a.KW、a.kwkidsbechrijving、a.Titel、b.GebruikersNaam
从tblKWKids作为
左连接tblUser为b
在a.UserID=b.UserID上
兰德订单();
如果($stmt=mysqli_prepare($dbconn,$qryFirstImage)){
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt、$KW、$KWKidsBeschrijving、$TitelKW、$GebruikersNaam);
对于($i=0;($i<3&&mysqli_stmt_fetch($stmt));$i++){
$content.='';
$content.='';
$content.=''.$TitelKW.'door:'.$GebruikersNaam.';
$content.=''.$KWKIDSBESCHRIJING.

'; $content.=''; } mysqli_stmt_close($stmt); }
让我猜猜看。所有图像都是相同的吗?为什么要连续三次执行相同的查询?您可以运行一次查询,只获取前三个结果,或者最好在末尾添加一个
LIMIT 3
,这样就不需要对整个表进行排序。我想MySQL的
RAND()
函数的默认种子是基于时间的,您的查询一个接一个地太快了。因此,种子是一样的。因此,结果的第一行是相同的。事实上,经过一些研究,我得出了如下解决方案:
$qryFirstImage = "SELECT a.KW, a.KWKidsBeschrijving, a.Titel, b.GebruikersNaam
FROM tblKWKids AS a
LEFT JOIN tblUser AS b
ON a.UserID = b.UserID
ORDER BY RAND()";
if ($stmt = mysqli_prepare($dbconn, $qryFirstImage)) {
    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $KW, $KWKidsBeschrijving, $TitelKW, $GebruikersNaam);
    for($i = 0; ($i < 3 && mysqli_stmt_fetch($stmt)); $i++){
        $content .= '<div>';
        $content .= '<img src="' . $KW . '" width="240px" height="240px" alt="' . $TitelKW . '" title="' . $TitelKW . '">';
        $content .= '<h5>' . $TitelKW . ' door: ' . $GebruikersNaam . '</h5>';
        $content .= '<p>' . $KWKidsBeschrijving . '</p>';
        $content .= '</div>';
    }
    mysqli_stmt_close($stmt);
}