所以這是我的代碼,它需要一個來自數據庫的人列表,並將他們與他們的合作伙伴分組。在這些組中,人員的用戶標識不能在同一行中出現兩次。一切正常,我只是想知道如何使它呼應4人,每組僅與2我怎樣才能把它們變成2個4的腳背組?
if ($result = $mysqli->query("SELECT * FROM performers")) {
printf("Found %d rows.\n", $result->num_rows);
$rows = array();
while ($row = $result->fetch_array()) {
foreach ($row as $key => $col) {
unset($row[$key]);
$row[strtolower($key)] = $col;
}
$rows[] = $row;
}
$current = null;
$count = 1;
while (! empty($rows)) {
if ($current) {
$current_performers = array($current['performerid_1'], $current['performerid_2']);
$found = false;
foreach ($rows as $key => $row) {
if (! in_array($row['performerid_1'], $current_performers) && ! in_array($row['performerid_2'], $current_performers)) {
$found = $key;
break;
}
}
if ($found !== false) {
echo '<li>', $rows[$found]['performance_id'], ': ', $rows[$found]['perf_name_1'], ' - ', $rows[$found]['perf_name_2'], '</li>';
unset($rows[$key]);
}
else {
echo '';
}
echo '</ul><hr />';
$current = null;
} else {
$current = array_shift($rows);
echo '<h3>Group ', $count+, '</h3>';
echo '<ul>';
echo '<li>', $current['performance_id'], ': ', $current['perf_name_1'], ' - ', $current['perf_name_2'], '</li>';
}
}
你是指兩個合作伙伴,還是你的意思是說夥伴關係被4個團隊所取代? – Barmar
可以說你有9個條目(1個條目是1個合夥,2個人)。編號看起來有3個組,每個組包含3個條目,在這些組內沒有任何個人ID可以重複。 –
我以爲你說的是4人組,不是3人。 – Barmar