我试图在SELECT WHERE id = array()中插入一个数组,然后试图在表中显示结果,我可以得到一行数据,第一个队伍的名字,胜利和失败,但是其余四个队伍可以我正在尝试向所有团队展示其ID等于数组的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'] .= ... ;
}

关于php - Mysql SELECT WHERE id = array(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27340300/

10-11 03:06
查看更多