簡體   English   中英

Mysql SELECT WHERE id = array()

[英]Mysql SELECT WHERE id = array()

我試圖在SELECT WHERE id = array()中插入一個數組,然后試圖在表中顯示結果,我可以得到一行數據,第一隊的名字,勝利和失敗,但是剩下的四隊可以我試圖向所有團隊展示id等於數組的團隊。

$tournament = mysql_query("SELECT * FROM `tournaments` WHERE `id` = ".((int)$slug[1])." LIMIT 1");
    if (mysql_num_rows($tournament) > 0) {
        $tournament = mysql_fetch_assoc($tournament);
    }
    //array is equal to 273,287,234,423,124
    $teamx = array();
    $teamx[] = $tournament['teams'];

    $tteams = mysql_query("SELECT * FROM `teams` WHERE `id` IN (" . implode(',', array_map('intval', $teamx)) . ") LIMIT 128");
    if (mysql_num_rows($tteams) > 0) {
        $tteams = mysql_fetch_assoc($tteams);
        $template['TOURNAMENTTEAMS'] .= '<tr><td style="text-align: center;"><strong>' .$tteams['name']. '</td><td style="text-align: center;">' .$tteams['wins']. '</td><td style="text-align: center;">' .$tteams['losses']. '</td></tr>';
    }else{
        $template['TOURNAMENTTEAMS'] .= '<tr><td style="text-align: center;"><strong>No eligible teams.</td><td style="text-align: center;"></td><td></td></tr>';
    }`

您需要遍歷結果,現在如果您獲得1或10個結果,則僅打印第一項。

if (mysql_num_rows($tteams) > 0) {
    $results = mysql_fetch_assoc($tteams);
    foreach($results as $row) {
        $template['TROURNAMENTTEAMS'] .= ... ;
    }
} else {
    $template['TROURNAMENTTEAMS'] .= ... ;
}

讓我們考慮您的$teamx數組具有以下值:

$teamx = array(273,287,234,423,124);

然后您的查詢應如下所示:

    $tteams = mysql_query("SELECT * FROM `teams` WHERE `id` IN (" . implode(',', $teamx)) . ") LIMIT 128");

不需要array_map函數。

錯誤可能出在您的$tournament['teams']; 檢查其中的值,如果值類似於上面的$teamx數組,則必須遍歷$tournament['teams']; $teamx 生成一個數組。

if (mysql_num_rows($result) > 0) {
        while ($tteamsfetch = mysql_fetch_assoc($result)){
            $template['TOURNAMENTTEAMS'] .= '<tr><td style="text-align: center;"><strong>' .$tteamsfetch['name']. '</td><td style="text-align: center;">' .$tteamsfetch['wins']. '</td><td style="text-align: center;">' .$tteamsfetch['losses']. '</td></tr>';
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM