$sql="SELECT `cid` FROM `ks` where `cid`='' ORDER BY rand() LIMIT 100";$r = $db->getAll($sql); foreach($r as $v){$sql="select `cid` from `member` WHERE `cid` not in (select `cid` from `ks`) ORDER BY rand() LIMIT 1";$row = $db->getRow($sql);$cid=$v['cid'];$sql="update `ks` set `userid`='".$row['id']."' WHERE `cid`='$cid'"; }
ディスカッションへの返信(解決策)
上の兄さん、返信ありがとうございます!
数値テーブルの cid は空ではありません。データは常に追加されます。
ks テーブルの cid は空です。
ID cid userid
userid cid
$sql1 = "select * from `member` WHERE status = 0 LIMIT 1";$r1 = $db->getRow($sql1); $cur_cid = $r1['cid'];//查看当前第一个考生的所在城市$sql4 = "insert into `ks` (`cid`,`userid`) values ({$r1['cid']},{$r1['cid']})";$db->query($sql4);//先插入第一个考生信息push_next($cur_cid);//接二连三的递推插入function push_next($cur_cid){ $sql2 = "select * from `member` WHERE status = 0 and cid != {$cur_cid} LIMIT 1"; $r2 = $db->getRow($sql2); $sql3 = "insert into `ks` (`cid`,`userid`) values ({$r2['cid']},{$r2['cid']})"; $db->query($sql3); push_next($sql2['cid']);}
//追加の統計を番号に追加する必要があります(学生が試験室に割り当てられているかどうかを判断するため)(0:未割り当ての試験室、1:すでに割り当てられている)割り当てられた診察室)
ありがとうございます!
KS テーブルにすでに 30 の座席番号がある場合はどうなりますか?同じ CID を持つユーザーを 5 桁ずつずらして KS テーブルに割り当てるにはどうすればよいですか?
continue 9;
1. 試験室には何人の受験者を収容できますか? (つまり、一度にKSテーブルに書き込む必要があるレコードの数)
2. Studentテーブルの学生は何都市から来たのか(メンバーから個別のcidを選択)
上記2つを確認したら各都市から数人の学生を選択し、同じ試験室に配置します。たとえば、試験室に 30 人の受験者を収容でき、学生が 5 つの異なる都市から来ている場合、プログラムは各都市で 6 人の学生を選択し、同じ試験室に配置します。
2 次元配列を作成します。最初の次元は都市 ID、2 番目の次元は学生を KS テーブルに書き込みます。
具体的なコードは書きません。
candidates = array (array("cid" => 1, "members" => array(1, 11, 21, 31)), array("cid" => 2, "members" => array(2, 12, 22, 32)), array("cid" => 3, "members" => array(3, 13, 23, 33)));
1. 試験室には何人の受験者を収容できますか? (つまり、一度にKSテーブルに書き込む必要があるレコードの数)
2. Studentテーブルの学生は何都市から来たのか(メンバーから個別のcidを選択)
上記2つを確認したら各都市から数人の学生を選択し、同じ試験室に配置します。たとえば、試験室に 30 人の受験者を収容でき、学生が 5 つの異なる都市から来ている場合、プログラムは各都市で 6 人の学生を選択し、同じ試験室に配置します。
2 次元配列を作成します。最初の次元は都市 ID、2 番目の次元は学生を KS テーブルに書き込みます。
具体的なコードは書きません。
candidates = array (array("cid" => 1, "members" => array(1, 11, 21, 31)), array("cid" => 2, "members" => array(2, 12, 22, 32)), array("cid" => 3, "members" => array(3, 13, 23, 33)));