2015-10-12 2 views
-1

Предположим, у меня есть таблица с именем «farmstuff», подобная этой очень упрощенной и странно выглядящей;Две таблицы из одного запроса MySQL

 
id mark  pjob  role  jobDesc 
1 1  horses  Smithy  Smith Stuff 
1 1  horses  Smithy  More Smith stuff 
1 1  horses  Smithy  Even More Smith stuff 
2 1  cows   Farrier  Put left front shoe on 
2 1  cows   Farrier  Put right front shoe on 

И мой PHP читать это так:

<?php 
$tableheader = "<table><thead><tr><th>col3</th><th>col4</th></tr></thead><tbody>"; 
$sql = "SELECT id, mark, pjob, role, jobDesc FROM farmstuff WHERE mark = 1 ORDER BY id"; 
    $echo($tableheader); 
    foreach($found->query($sql) as $row) { 
     echo ("<tr>"); 
    } 
     echo("<td>$row[role]</td>"); 
     echo("<td>$row[jobDesc]</td>"); 
    } echo("</tr></tbody></table>"); 
?> 

И то, что я хочу, это две таблицы, как показано ниже. Несмотря на значения других переменных, я хочу разбить таблицы при изменении значения id. Так что если его 1, то первый заголовок - лошади, если его 2, то титул - коровы. Имейте в виду, что теперь это таблицы. Итак, сначала, как мне создать две таблицы из вывода SQL с соответствующим разрывом, а во-вторых, как я должен помещать ярлык поверх каждого, как в примере ниже?

 
horses 
col4  col5 
Smithy  Smith Stuff 
Smithty  More Smith Stuff 
Smithy  Even More Smith Stuff 
cows 
col4  col5 
Farrier  Put left front shoe on 
Farrier  Put right front shoe on 
+0

Я получил ответ, который я не нужен, поэтому нет большой сделки бушеля я не уверен вообще, как г-н Бармар видит мой вопрос, а другой - как одно и то же? Сначала вы едва ли можете прочитать другой вопрос. Английский язык явно не является его первым языком. Так что, меня это не волнует. Я думаю, мистер Бармар просто хочет еще один момент. –

ответ

1

Это не тестируется (более опытный образец), но что-то вроде этого:

<?php 
$tableheader = "<table><thead><tr><th>col3</th><th>col4</th></tr></thead><tbody>"; 
$sql = "SELECT id, mark, pjob, role, jobDesc FROM farmstuff WHERE mark = 1 ORDER BY id"; 
    $echo($tableheader); 
    $lastid = ''; 
    foreach($found->query($sql) as $row) { 
     if($lastid != $row[role]) { 
      echo ("<tr><td colspan=2>$row[id]</td></tr>"); 
     } 
     echo ("<tr>"); 
     echo("<td>$row[role]</td>"); 
     echo("<td>$row[jobDesc]</td>"); 
     echo("</tr>"); 
     $lastid = $row[role]; 
    } 
    echo("</tbody></table>"); 
?> 
+0

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

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