2015-05-18 6 views
0

Я хочу выбрать данные из большего количества таблиц с помощью Inner join.Inner Join таблицы и отображение в php

Это мои таблицы.

teams (id, team_name) 
badges (id, badgename, badgeimage, badgedescription) 
teambadges (id, team_id, badge_id) 

Я хочу написать заявление, в котором указано название команды со всеми значками, которые у них есть. Я также хочу показать это в таблице

Это мое заявление.

$sql = mysqli_query($connection, 'SELECT teams.team_name,badges.badgename 
FROM teambadges 
INNER JOIN teams ON teams.id = teambadges.team_id 
INNER JOIN badges ON badges.id = teambadges.badge_id;'); 

Php:

<table class="table table-condensed table-striped table-bordered table-hover"> 
      <thead> 
       <tr> 
        <th width="5%"><center>No</center></th> 
        <th>team id</th> 
        <th>badge id</th> 


       </tr> 
      </thead> 
      <tbody id="data"> 
      <?php $no=1; while ($row = mysqli_fetch_array($sql)) { ?> 
       <tr> 
        <td align="center"><?php echo $no; ?></td> 
        <td><?php echo $row['team_name']; ?></td> 
        <td><?php echo $row['badgename']; ?></td> 

       </tr> 
      <?php $no++; } ?> 
      </tbody> 
     </table> 

Это выполняется внутри страницы PHP, но я получаю эту ошибку: Warning: mysqli_fetch_array() ожидает параметр 1, чтобы быть mysqli_result,

+0

Так в чем проблема? –

+0

it dosent произведение. Предупреждение: mysqli_fetch_array() ожидает, что параметр 1 будет mysqli_result, – Jess

+0

Итак, где же вы выполнили запрос? –

ответ

-1

я думаю, что вы об ошибке находится здесь

<td><?php echo $row['teams.name']; ?></td> 
<td><?php echo $row['badges.name']; ?></td> 

просто чех если у вас есть право имя column. если у вас есть там таблица с тем же именем

teams (id, team_name) 
badges (id, badgename, badgeimage, badgedescription) 
teambadges (id, team_id, badge_id) 

вы должны сделать это:

<td><?php echo $row['team_name']; ?></td> 
    <td><?php echo $row['badgename']; ?></td> 
+0

В ОП четко указывается, что такое ошибка. В вашем ответе не содержится информации, которая помогла бы решить эту проблему (следовательно, -1) – Burki

0

Используйте mysqli_query() или умереть (mysqli_error ($ соединение)) , чтобы получить ошибку и проверьте ваш запрос успешно на mysql