Отобразите две таблицы из mysql, используя PHP и spry или что-то подобное

Я пытаюсь отобразить данные из двух разных таблиц в mysql, используя PHP и что-то вроде spry. Первоначально я хотел использовать панели с вкладками spry, но я не уверен, что это возможно. Я бы хотел, чтобы имя вкладки заполнялось из одной таблицы, а содержимое этой вкладки заполнялось из другой таблицы. Вот основной html...

<div id="TabbedPanels1" class="TabbedPanels">
  <ul class="TabbedPanelsTabGroup">
    <li class="TabbedPanelsTab" tabindex="0">NAME_1 POPULATED FROM FIRST TABLE</li>
    <li class="TabbedPanelsTab" tabindex="0">NAME_2 POPULATED FROM FIRST TABLE</li>
  </ul>
  <div class="TabbedPanelsContentGroup">
    <div class="TabbedPanelsContent">
    <table border="0" cellspacing="5" cellpadding="5">
        <tr>
<!-- CONTENT POPULATED FROM SECOND TABLE!-->
          <td width="450">&nbsp;</td>
          <td width="50">&nbsp;</td>
          <td width="50">&nbsp;</td>
          <td width="50">&nbsp;</td>
          <td width="50">&nbsp;</td>
        </tr>
      </table></div>
   </div>
</div>
</div>

Проблема, которая, как я думаю, у меня будет, заключается в том, что я не смогу соединить вкладки с контентом. Поскольку вкладки перечислены первыми в html... затем содержимое. Я не знаю, возможно ли это или есть ли лучший способ.


person Sean McCully    schedule 04.11.2012    source источник


Ответы (1)


Это немного зависит от конечного результата, который вы хотите получить. Например:

Если единственное, что вам нужно, это список вкладок, взятых из таблицы, и их содержимое, заполненное из другой таблицы БД, вам просто нужно выполнить 2 запроса, по одному для каждой таблицы, и сохранить результаты в переменных. Затем вы можете завершить структуру HTML внутри переменной и, наконец, сделать эхо этой переменной в конце.

// $result1 has the info of the tab names.
// $result2 has the contents of each tab.
$final_html='<div id="TabbedPanels1" class="TabbedPanels">
             <ul class="TabbedPanelsTabGroup">';

while($row1=$result1->mysqli_fetch_array()){
     $final_html.="<li class=\"TabbedPanelsTab\" tabindex=\"0\">$row1[0]</li>";
}

$final_html.='</ul><div class="TabbedPanelsContentGroup">
              <div class="TabbedPanelsContent">
              <table border="0" cellspacing="5" cellpadding="5">
              <tr>';

while($row2=$result2->mysqli_fetch_array()){
     $final_html.="<td width=\"450\">$row2[0]</td>";
}

$final_html.='</tr></table></div></div></div></div>';

echo $final_html;

Если проблема заключается в том, как заставить работать вкладки, я бы предложил использовать Jquery.

Основная идея состоит в том, чтобы использовать идентификаторы на основе одной и той же переменной на вкладке и содержимом вкладки. Например, одну вкладку можно назвать «tab1», а ее содержимое — «tab1content».

Если вы хотите получить более подробную информацию о части Jquery, опубликуйте свой код, чтобы увидеть, как вы хотите, чтобы эти вкладки работали.

person Naryl    schedule 06.11.2012