2012-02-12 93 views
1

我正在使用PHP/MySql,並試圖根據用戶所擁有的技能將用戶組合成對。我有一個現有的用戶表和一個現有的表。在PHP/MySql中將查詢結果存儲在不同的表中

例如,我執行了一個查詢,返回了需要配對成團隊的6名成員。

SELECT * FROM users WHERE skill = 'Office' 

用戶
ID /名稱/技能
1 /鮑勃/辦公室
2 /泰德/辦公室
3 /添/辦公室
4 /比爾/辦公室
5 /肖恩/辦公
6 /加布/辦公

這些結果必須然後配對,以及預期的輸出應該是:


名稱/構件
OFFICE1 /鮑勃
OFFICE1 /泰德
Office2 /添
Office2 /比爾
Office3 /肖恩
Office3 /加布

一旦2個構件配置在一個團隊中,團隊名稱應該增加1。

任何幫助將不勝感激謝謝。

編輯:我想這:

$results = mysql_query("SELECT * FROM users WHERE skill = 'Office'"); 
$numrows = mysql_num_rows($results); $name =""; 
if($numrows!=0) { 
    while($row = mysql_fetch_assoc($results)) { 
     $name = $row['userName']; 
    } 
} 

//For incrementing the team name 
$namectr=0; 
for($ctr=0;$ctr<$results_num;$ctr++) { 
    if($ctr%2==0) { 
     $query = mysql_query("INSERT INTO teams VALUES ('Office$namectr','$name')"); 
     $ctr++; if($ctr%2==1) { 
      $query = mysql_query("INSERT INTO teams VALUES (Office$namectr','$name')"); 
      $namectr++; 
     } 
    } 
} 

回答

1

爲什麼不嘗試:

$result = mysql_query("SELECT * FROM users WHERE users.skill = 'office'"); 
$count = 0; 
$sqlcount = 0; 
$offcount = 1; 
while ($source = mysql_fetch_array($result)) { 
    if ($count < 1) { 
    $office = $source['skill'] . $offcount; 
    $name = $source['name']; 
    $result[$sqlcount] = mysql_query("INSERT INTO teams ('name', 'member') VALUES ('$office', '$name')"); 
    $sqlcount++; 
    } else if ($count >= 1) { 
    $offcount++; 
    $count = 0; 
    $office = $source['skill'] . $offcount; 
    $name = $source['name']; 
    $result[$sqlcount] = mysql_query("INSERT INTO teams ('name', 'member') VALUES ('$office', '$name')"); 
    $sqlcount++; 
    } else { 
    echo "ERROR" . mysql_error(); 
    } 
}//end while 
$sqlcount = 0; 
while ($result[$sqlcount] != "") { 
    if ($source = $result) { 
    } else { 
    echo "ERROR! " . mysql_error(); 
    } 
}//end while 
0

不能你做你的數據庫查詢,然後像做了如下:

$count=0; 
$team=1; 
$teams = array(); 
foreach($result as $output){ 
    if($count % 2 == 0){ 
     // if even number, reset count and increment position 
     $count=0; 
     $team++; 
    } 
    $teams[] = $output['skill']." ".$team." - ".$output['member']; 
    $count++; 
} 

喜歡的東西上面,但它是未經測試,但應該在理論上工作。

+0

嗨。其實我有一個類似的代碼來增加隊名。但是,每當我從查詢中獲得多個結果時,我似乎都遇到了困難。 – Programmer 2012-02-12 17:08:42

相關問題