作爲一個自學成才(很差)的PHP編碼器,我已經用盡了所有的試驗和錯誤的可能性,所以我謙虛地問你的幫助,我遇到了一個小問題同時編寫社區在線「招標」遊戲。從兩個表獲取數據的難度/ php,mysql
我在我的數據庫中有兩個表格 - 一個叫做DCO_sponsors,列出了ID列表,一個關聯數量的(虛擬!)金錢,可用性計數器和(如果它們已經與團隊關聯),團隊ID。
結構:編號,數量,可用,TEAM_ID
第二個表,DCO_bids,列出了球隊的「競標」,奪得上述贊助商。它包括一個投標ID,團隊ID,在這種情況下是贊助者ID(其他過程使用同一張桌子)的「part_b」,描述投標類型的概念字段(例如「贊助」)和最後有兩個字段用於出價金額和當前狀態(A表示激活,W表示等待/待處理等)。
結構:ID,TEAM_ID,part_b,概念,投標,狀態
我想實現的是給我(管理員)在DCO_sponsors表中的所有贊助商名單的網站,通過有序金額,並在它旁邊的團隊team_id最高出價(團隊只有四個「贊助商」,並獲得最高的總票房,所以重要的是我看到他們的數量順序)。
我生產的,而且我希望它會工作的代碼,如下所示:
echo "<table>";
echo "<tr><th width=30>Id</th><th width=100>Amount</th><th width=220>Team</th><th width=100>Offer</th><th></th><th></th><th></th></tr>";
$data = mysql_query("SELECT id, amount FROM DCO_sponsors WHERE available='1' ORDER BY amount DESC", $CONNECTW);
while($row=mysql_fetch_row($data))
{
$sp_id = "$row[0]";
$sp_amount = number_format($row[1]);
$teamdata = mysql_query("SELECT team_id, bid FROM DCO_bids WHERE concept='sponsorship' AND part_b='$sp_id' ORDER BY bid DESC", $CONNECTW);
while($row=mysql_fetch_row($teamdata))
{
$team_id = "$row[0]";
$team_bid = number_format($row[1]);
}
// I call the name of the team from another table
$teamlabel = mysql_query("SELECT completename FROM DCO_teams WHERE id='$team_id'", $CONNECTW);
while($row=mysql_fetch_row($teamdata))
{
$teamname = "$row[0]";
}
echo "<tr><td>$sp_id</td><td>£$sp_amount</td><td>$teamname</td><td>$team_bid</td><td><a href='$RKP/kernel/lib/php_lib/action/AC_Bids_Update.php?op=A1&item_id=$item_id'><div id='IC_Tick' title='Sign Round 1 deal with $teamname'></div></a></td><td><a href='$RKP/kernel/lib/php_lib/action/AC_Bids_Update.php?op=A2&item_id=$item_id'><div id='IC_Tick' title='Sign Round 2 deal with $teamname'></div></a></td><td><a href='$RKP/kernel/lib/php_lib/action/AC_Bids_Update.php?op=A3&item_id=$item_id'><div id='IC_Tick' title='Sign Round 3 deal with $teamname'></div></a></td></tr>";
}
echo "</table>";
在該行的最後一個單元的鏈接是打勾盒連接到修改其他表的行動。 目前,我得到的結果是按金額排序的贊助商名單(因爲它應該是這樣),但出現在它旁邊的球隊名稱對於所有排都是一樣的,它不是最高出價者之一,出價金額不是最高出價者之一,而只是第一個投標者之一。
我花了最近三個晚上的最好的部分試圖找出我得到這個錯誤的地方...我希望你傢伙可以幫忙!
好吧,我不是100%肯定你正在試圖做什麼看完這個,但我想我有基本的瞭解。所以,你需要'$ teamname =「$ row [0]」;'用最高出價者返回名稱,對嗎? –
是 - 實際上,這將是 $ teamdata =請求mysql_query( 「SELECT TEAM_ID,出價從DCO_bids WHERE概念= '贊助' AND part_b = '$ sp_id的' ORDER BY投標DESC」,$ CONNECTW); $ teamname只需從另一個表中獲取全名,而不是僅顯示團隊的ID號 –