【发布时间】:2021-06-24 08:51:23
【问题描述】:
目前,这个 .php 文件分配给每个家务活,数据库中存在的每个用户,我认为这是因为它重复,我如何让它只选择 1 个随机用户 ID?
<?php
session_start();
include 'conn.php';
if (!isset($_SESSION['username']) || $_SESSION['type']!="admin") {
header('location:login.php');
}
$query = $conn->prepare("SELECT * FROM chores ");
$query->execute();
while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
$query2 = $conn->prepare("SELECT * FROM users ORDER BY RAND()");
$query2->execute();
while ($row2 = $query2->fetch(PDO::FETCH_ASSOC)) {
$chore_id = $row['chore_id'];
$user_id = $row2['ID'];
$status = "Pending";
$query3 = $conn->prepare("SELECT * FROM split_chores WHERE chore_id_fk = '".$chore_id."' AND user_id_fk = '".$user_id."' ");
$query3->execute();
if ($query3->rowCount()==0) {
$sql = $conn->prepare("INSERT INTO split_chores(chore_id_fk,user_id_fk,status)
VALUES (:chore_id,:user_id,:status)");
$sql->bindParam(":chore_id",$chore_id);
$sql->bindParam(":user_id",$user_id);
$sql->bindParam(":status",$status );
$sql->execute();
}
}
}
echo "<script>alert('Chores have been splitted successfully');
window.location.href='index.php';</script>";
?>
【问题讨论】:
-
请向我们展示生成的 SQL。
标签: mysql database-design php greatest-n-per-group