2015-10-06 4 views
1

У меня есть таблица mysql, называемая «расписание» для расписания NFL, где есть игровое, homeid, awayid, weekno и seasonno. Для каждой недели BYE в команде есть 0 в проезде, и их идентификатор находится в homeid.Как правильно создать таблицу из запроса MYSQL

ПРИМЕЧАНИЕ: Все до свидания недели происходят между 4-й недели и недели 11.

Так что я хочу, чтобы просто получить команды города и BYE неделю в запросе MYSQL присоединиться с моим «командами» таблицы (TeamID, расположение), так Я могу отобразить его в таблице.

Я попытался это ...

$sql = "SELECT *, 
    h.location AS home, 
    a.location AS away, 
    h.teamid AS homeid, 
    a.teamid AS awayid, 
    s.weekno 
FROM schedule s 
    INNER JOIN teams h ON s.homeid = h.teamid 
    LEFT JOIN teams a ON s.awayid = a.teamid 
WHERE s.seasonno = $currentyear 
AND s.awayid=0 
ORDER BY weekno ASC"; 

$schedule= mysqli_query($connection, $sql); 
if (!$schedule) { 
die("Database query failed: " . mysqli_error($connection)); 
} else { 
// Placeholder for data 
    $data = array(); 
    $number=1; 
    // Loop through results 
    $i=4; 
    while($row = mysqli_fetch_assoc($schedule)) { 

      while($row['weekno']==$i) { 
      ${'tabledata'.$i}.=$row['home']; 

      } 
      $i++; 

    } 
} 

, но я просто получить первую команду для каждого свидания неделю, не все команды. Например, неделя 4 должна быть Tennesse AND New England.

4 Tennessee 
5 Miami 
6 Tampa Bay 
7 Chicago 
8 Jacksonville 
9 Houston 
10 San Francisco 
11 Cleveland 

Это отображение кода ...

<table> 
<tr><th>Week #</th><th>Teams</th></tr> 
<tr><td>4</td><td><?php echo $tabledata4;?></td><tr> 
<tr><td>5</td><td><?php echo $tabledata5;?></td><tr> 
<tr><td>6</td><td><?php echo $tabledata6;?></td><tr> 
<tr><td>7</td><td><?php echo $tabledata7;?></td><tr> 
<tr><td>8</td><td><?php echo $tabledata8;?></td><tr> 
<tr><td>9</td><td><?php echo $tabledata9;?></td><tr> 
<tr><td>10</td><td><?php echo $tabledata10;?></td><tr> 
<tr><td>11</td><td><?php echo $tabledata11;?></td><tr> 
</table> 

Это уже выглядит слишком запутанным для того, что, вероятно, должно быть легким запрос/дисплей. Например, я даже не уверен, что мне нужно сделать INNER JOIN, но слишком смутно знать наверняка.

Может ли кто-нибудь получить меня на правильном курсе, чтобы предотвратить дальнейшую свертку?

+0

Если вы выполняете quary непосредственно в базе данных, получаете ли вы результат, который хотите? –

ответ

1

Ваш внутренний цикл while создает проблему, я думаю. (Это на самом деле удивительно, что показывает, что-либо вообще)

while($row['weekno']==$i) { 
    ${'tabledata'.$i}.=$row['home']; 
} 
$i++; 

Изменить что

$i = $row['weekno'] 
${'tabledata'.$i}.=$row['home']; 

И он должен работать.

+0

Извините, что вас выбрасывает, но когда он показывает вещи, у меня на самом деле был «$ i ++» INSIDE меньший цикл while. Итак, вы были абсолютно правы, он не должен был показывать ничего, как я копирую и вставлял код в вопрос. В любом случае, вы были мертвы на правильном пути, ваш код делает именно то, что я хочу. Спасибо огромное! – user3304303

+0

А теперь я понимаю. Рад, что это сработало! –

Смежные вопросы