2012-01-09 4 views
0

Я написал страницу, которая отлично работает, показывая нужные мне данные. Проблема в том, что мой нижний колонтитул появляется как мой заголовок ... Я не знаю, почему. Может кто-нибудь объяснить? Я положил его в конце страницы, после всего PHP-кода, и мне кажется, он должен быть вставлен туда, но по какой-то причине он отображается сверху.Заголовок отображается в виде нижнего колонтитула, хотя он находится внизу.

Если кто-то может помочь нам с благодарностью.

Вот страница: http://kaboomlabs.com/testbed/print.php?id=1

Вот код:

<?php 
require_once('tb/connectvars.php'); 
echo '<div id="printwrap">' 
?> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>PDI NCMR - Print</title> 
    <link rel="stylesheet" type="text/css" href="tb/postie.css" /> 
</head> 
<body> 
    <div id="logo"> 
    <img src="tb/PDI_Logo_2.1.gif" alt="PDI Logo" /> 
</div> 

<?php 
    // Connect to the database 
    $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); 
    // Grab the profile data from the database 
    if (!isset($_GET['id'])) { 
    $query = "SELECT * FROM ncmr WHERE id = '$id'"; 
    } 
    else { 
    $query = "SELECT * FROM ncmr WHERE id = '" . $_GET['id'] . "'"; 
    } 
    $data = mysqli_query($dbc, $query); 

    if (mysqli_num_rows($data) == 1) { 

    // The user row was found so display the user data 
    $row = mysqli_fetch_array($data); 
    echo'<div id="title"><h3 id="NCMR2">Non-Conforming Materials Report (NCMR:&nbsp;&nbsp;' . $row['rma'] . ')</h3></div>'; 
     echo '<form id="all">'; 
      echo '<fieldset>'; 
//Part, Rev, Part Description, NCMR Qty 
      echo '<div id="box1p">'; 
       if (empty($row['ab'])) $row['ab'] = "Empty"; 
       if (empty($row['date'])) $row['date'] = "Empty"; 
       if (empty($row['part'])) $row['part'] = "Empty"; 
       if (empty($row['rev'])) $row['rev'] = "Empty"; 
       if (empty($row['partdesc'])) $row['partdesc'] = "Empty"; 
       if (empty($row['ncmrqty'])) $row['ncmrqty'] = "Empty"; 
       echo '<div id="abp"><span class="b">Added By:&nbsp;&nbsp;</span>' . $row['ab'] . '</div>'; 
       echo '<div id="datep"><span class="b">Date Filed:&nbsp;&nbsp;</span>' . $row['date'] . '</div>'; 
       echo '<div id="partp"><span class="b">Part Number:&nbsp;&nbsp;</span>' . $row['part'] . '</div>'; 
       echo '<div id="revp"><span class="b">Part Revision:&nbsp;&nbsp;</span>' . $row['rev'] . '</div>'; 
       echo '<div id="partdescp"><span class="b">Part Description:&nbsp;&nbsp;</span>' . $row['partdesc'] . '</div>'; 
       echo '<div id="ncmrqtyp"><span class="b">NCMR Qty:&nbsp;&nbsp;</span>' . $row['ncmrqty'] . '</div>'; 
      echo '</div>'; 

     //Part, Rev, Part Description, NCMR Qty, JO, SN and INV 
      echo '<div id="box2p">'; 
       if (empty($row['comp'])) $row['comp'] = "Empty"; 
       if (empty($row['ncmrid'])) $row['ncmrid'] = "Empty"; 
       if (empty($row['rma'])) $row['rma'] = "Empty"; 
       if (!empty($row['NCMR_Qty'])) $row['NCMR_Qty'] = "Empty"; 
        echo '<div id="comp"><span class="b">Company:&nbsp;&nbsp;</span>' . $row['comp'] . '</div>'; 
        echo '<div id="ncmrid"><span class="b">Customer NCMR ID:&nbsp;&nbsp;</span>' . $row['ncmrid'] . '</div>'; 
        echo '<div id="rma"><span class="b">Internal RMA:&nbsp;&nbsp;</span>' . $row['rma'] . '</div>'; 
        echo '<div id="jno"><span class="b">Job #:&nbsp;&nbsp;</span>' . $row['jno'] . '</div>'; 
      echo '</div>'; 

      //Inventory On Hand, Inventory Check, Supplier Name, Supplier Number, Manufacturer Part Number, Manufactuer Serial Number and NCMR ID 
      echo '<div id="box3p">'; 
       if (empty($row['fdt'])) $row['fdt'] = "Empty"; 
       if (empty($row['cof'])) $row['cof'] = "Empty"; 
        echo '<h2>Failures</h2>'; 
          echo '<div id="fdt"><span class="b">Failure Due To:&nbsp;&nbsp;</span><br />' . $row['fdt'] . '</div>'; 
          echo '<div id="cof"><span class="b">Class of Failure:&nbsp;&nbsp;</span><br />' . $row['cof'] . '</div>'; 
       echo '</div>'; 

      //Nonconformity, Disposition, Comments and Comments & Additional Details 
      echo '<div id="box4p">'; 
       if (empty($row['fab1'])) $row['fab1'] = "Empty"; 
       if (empty($row['fab2'])) $row['Disposition'] = "Empty"; 
       if (empty($row['fab3'])) $row['Comments'] = "Empty"; 
       echo '<h2>Fabricators</h2>'; 
         echo '<div id="fab1"><span class="b"></span>' . $row['fab1'] . '</div>'; 
         echo '<div id="fab2"><span class="b"></span>' . $row['fab2'] . '</div>'; 
         echo '<div id="fab3"><span class="b"></span>' . $row['fab3'] . '</div>'; 
      echo '</div>'; 

      //PO, PO Date, and Date Recieved 
      echo '<div id="box5p">'; 
       if (empty($row['non'])) $row['non'] ="Empty"; 
       if (empty($row['dis'])) $row['dis'] ="Empty"; 
       if (empty($row['comm'])) $row['comm'] ="Empty"; 
       if (empty($row['caad'])) $row['caad'] ="Empty"; 
        echo '<div id="non"><span class="b">Nonconformity:&nbsp;&nbsp;<br /></span>' . $row['non'] . '</div><br /><br />'; 
        echo '<div id="dis"><span class="b">Disposition:&nbsp;&nbsp;<br /></span>' . $row['dis'] . '</div><br /><br />'; 
        echo '<div id="comm"><span class="b">Comments:&nbsp;&nbsp;<br /></span>' . $row['comm'] . '</div><br /><br />'; 
        echo '<div id="caad"><span class="b">Comments and/or Additional Details:&nbsp;&nbsp;<br /></span>' . $row['caad'] . '</div>'; 
      //PO, PO Date, and Date Recieved 
       echo '<div id="podrp">'; 
        if (empty($row['po'])) $row['po'] ="Empty"; 
        if (empty($row['pod'])) $row['pod'] ="Empty"; 
        if (empty($row['dri'])) $row['dri'] ="Empty"; 
         echo '<div id="pop"><span class="b">PO:&nbsp;&nbsp;</span>' . $row['po'] . '</div>'; 
         echo '<div id="podp"><span class="b">PO Date:&nbsp;&nbsp;</span>' . $row['pod'] . '</div>'; 
         echo '<div id="drip"><span class="b">Date Recieved:&nbsp;&nbsp;</span>' . $row['dri'] . '</div>'; 
       echo '</div>'; 
      echo '</div>'; 
      echo '<div id="box6p">'; 
       //NCMR Supplier Response & Comment if not empty 
       if (empty($row['ncmrsr'])) $row['ncmrsr'] ="Empty"; 
       if (empty($row['ncmrsc'])) $row['ncmrsc'] ="Empty"; 
        echo '<div id="ncmrsr"><span class="b">NCMR Supplier Response:</span><br />' . $row['ncmrsr'] . '</div><br /><br />'; 
        echo '<div id="ncmrsc"><span class="b">NCMR Supplier Comment:</span><br />' . $row['ncmrsc'] . '</div><br /><br />'; 
      echo '</div>'; 
     echo '</fieldset>'; 
    echo '</div>'; 
echo '</form>'; 
} 
    mysqli_close($dbc); 
    echo '</div>'; 

    require_once('tb/pfooter.php'); 

?> 
</body> 
</html> 
+0

что код для колонтитула (то есть DIV теги) и что такое CSS? Используете ли вы атрибут clear, чтобы подтолкнуть нижний колонтитул ниже других элементов? – Brian

+0

@brian Пожалуйста, ознакомьтесь с базой кода. Это после финального Нет тегов div, поскольку, насколько я могу судить, им не нужно. –

+0

, который тогда был бы частью проблемы. оберните нижний колонтитул в div и либо установите его с абсолютным позиционированием, либо пусть все использует позиционирование потока. – Brian

ответ

1

Это потому, что ваш div#printwrap имеет position: absolute в качестве правила CSS. При таком положении элемент извлекается из потока документа, поэтому следующие элементы (<hr> и нижний колонтитул) начинают свой поток без учета div#printwrap. Снимите это position: absolute и все будет работать.

+0

oy ... Я совсем забыл об этом. Спасибо, это сработало отлично. –

+0

нормально, нет проблем :) –

1

footer класс не проблема, printwrap идентификатор. Он настроен на абсолютное позиционирование, поэтому элементы, расположенные на потоке (например, div для нижнего колонтитула) игнорируют его при их рендеринге. Поскольку footerhr над ним) являются первыми позиционируемыми по потоку элементами на странице, они отображаются справа вверху.

Просто щипая с ним в Firebug, удаляя следующие из #printwrap определения в postie.css является улучшение:

height: 930px; 
position: absolute; 

Абсолютное позиционирование и позиционирование потока не всегда хорошо играть вместе. На самом деле нужно знать, что для этого нужно делать.

0

Удалить из строки 110 файла /testbed/tb/postie.css последующий код:

height: 930px; 
position: absolute; 

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

  • Нет связанных вопросов^_^