2013-04-16 3 views
1

Мой код прямо сейчас этоSQL Query захватывая данные из двух таблиц

$extract = mysqli_query($dbc, "SELECT * FROM items"); 
$numrows = mysqli_num_rows($extract); 
while($row = mysqli_fetch_assoc($extract)) { 
    $id = $row['i_id']; 
    $iname = $row['i_name'];  
    echo "<tr><td><a href='capture.php?item_id=$id'>$iname</a></td><td>Incomplete</td></tr>"; 
} 

Что я хочу сделать, это запустить проверку, чтобы увидеть, если элемент уже завершен. я отдельная таблица, которая содержит информацию, например, сказать, что пункт 1 был завершен, то я хотел бы быть в состоянии изменить свое эхо на что-то вроде:

echo "<tr><td>$iname</td><td>Complete!</td></tr>"; 

Как бы это сделать? Должен ли я использовать какую-либо форму заявления о соединении?

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

Вот две таблицы

Items      item_collection 
------      --------------- 
i_id      i_id 
i_name      complete 
          caption 
          image 
          c_id 
          g_id 
+0

Пожалуйста, укажите вашу структуру базы данных. – showdev

+0

можете ли вы разместить структуру таблицы для двух таблиц? –

+0

да простите, что позвольте мне сделать это очень быстро –

ответ

2

Вы можете использовать условие соединения, как это (при условии полной это поле VARCHAR)

SELECT a.i_id, a.i_name, 
CASE WHEN i_status = '1' THEN 'Complete!' ELSE 'Incomplete' END AS complete_status 
FROM items a 
LEFT OUTER JOIN item_collection b ON a.i_id = b.i_id 
0

Что-то вдоль линий SELECT * FROM table1 WHERE не table1.id в (SELECT Id FROM table2)

1
select 
case 
    when ic.complete = 1 then 'Complete' 
    else 'Incomplete' 
end as item_status 
from items i 
left join item_collection ic on i.i_id = ic.i_id 
where i.i_name = 'your_item_name' 

Предполагая, что ic.complete = 1, если элемент является полным.

+0

будет ли это отображать все предметы? потому что я изначально думал, что инструкция if на эхо, чтобы увидеть, если элемент завершен, тогда сделайте это, сделайте это –

+0

@JoshC. это вернет статус для определенного элемента 'where i.i_name = your_item_name'. – Ivo

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