2017-02-17 5 views
-1

потратил часы безуспешно, пытаясь понять это, просто не хороший кодер. У меня есть 2 заголовка, называемые названием и датой, и я пытаюсь остановить их от повторения перед каждой строкой. Я просто хочу, чтобы заголовок был наверху. Что мне нужно изменить, чтобы это сделать. Благодаря!!!! Используйте биткойн для поиска.Как удалить повторяющиеся заголовки

<thead> 
     <tr> 
      <th class='table-header' width='20%'>Title</th> 
      <th class='table-header' width='5%'>Date</th> 
     </tr> 
     </thead> 



<?php 
define("ROW_PER_PAGE",15); 
require_once('db.php'); 
?> 
<html> 
<head> 
<style> 
body{width:615px;font-family:arial;letter-spacing:1px;line-height:20px;} 
.tbl-qa{width: 100%;font-size:0.9em;background-color: #f5f5f5;} 
.tbl-qa th.table-header {padding: 5px;text-align: left;padding:10px;} 
.tbl-qa .table-row td {padding:10px;background-color: #FDFDFD;vertical-align:top;} 
.button_link {color:#FFF;text-decoration:none; background-color:#428a8e;padding:10px;} 
#keyword{border: #CCC 1px solid; border-radius: 4px; padding: 7px;background:url("demo-search-icon.png") no-repeat center right 7px;} 
.btn-page{margin-right:10px;padding:5px 10px; border: #CCC 1px solid; background:#FFF; border-radius:4px;cursor:pointer;} 
.btn-page:hover{background:#F0F0F0;} 
.btn-page.current{background:#F0F0F0;} 
</style> 
</head> 
<body> 
<?php 
    $search_keyword = ''; 
    if(!empty($_POST['search']['keyword'])) { 
     $search_keyword = $_POST['search']['keyword']; 

    $sql = 'SELECT * FROM posts WHERE post_title LIKE :keyword OR description LIKE :keyword OR post_at LIKE :keyword ORDER BY id DESC '; 

    /* Pagination Code starts */ 
    $per_page_html = ''; 
    $page = 1; 
    $start=0; 
    if(!empty($_POST["page"])) { 
     $page = $_POST["page"]; 
     $start=($page-1) * ROW_PER_PAGE; 
    } 
    $limit=" limit " . $start . "," . ROW_PER_PAGE; 
    $pagination_statement = $pdo_conn->prepare($sql); 
    $pagination_statement->bindValue(':keyword', '%' . $search_keyword . '%', PDO::PARAM_STR); 
    $pagination_statement->execute(); 

    $row_count = $pagination_statement->rowCount(); 
    if(!empty($row_count)){ 
     $per_page_html .= "<div style='text-align:center;margin:20px 0px;'>"; 
     $page_count=ceil($row_count/ROW_PER_PAGE); 
     if($page_count>1) { 
      for($i=1;$i<=$page_count;$i++){ 
       if($i==$page){ 
        $per_page_html .= '<input type="submit" name="page" value="' . $i . '" class="btn-page current" />'; 
       } else { 
        $per_page_html .= '<input type="submit" name="page" value="' . $i . '" class="btn-page" />'; 
       } 
      } 
     } 
     $per_page_html .= "</div>"; 
    } 


    $query = $sql.$limit; 
    $pdo_statement = $pdo_conn->prepare($query); 
    $pdo_statement->bindValue(':keyword', '%' . $search_keyword . '%', PDO::PARAM_STR); 
    $pdo_statement->execute(); 
    $result = $pdo_statement->fetchAll(); 
} 
?> 
<form name='frmSearch' action='' method='post'> 
<div style='text-align:right;margin:20px 0px;'><input type='text' name='search[keyword]' value="<?php echo $search_keyword; ?>" id='keyword' maxlength='25'></div> 

    <?php 
    if(!empty($result)) { 
     foreach($result as $row) { 
    ?> 
<table class='tbl-qa'> 


<thead> 
    <tr> 
     <th class='table-header' width='20%'>Title</th> 
     <th class='table-header' width='5%'>Date</th> 
    </tr> 
    </thead> 


    <tbody id='table-body'> 
     <tr class='table-row'> 
     <td><a style="text-decoration: none;" href="<?php echo $row['description']; ?>"> 
    <?php echo $row['post_title']; ?></a></td> 
    <td><?php echo $row['post_at']; ?></td> 
     </tr> 
    <?php 
     } 
    } 
    ?> 
    </tbody> 
</table> 

<?php echo $per_page_html; ?> 

</form> 
</body> 
</html> 
+0

Вы воссоздавая таблицу в цикле Еогеаспа (

... ), он должен включать в себя только HTML для строки ( ... части) –

+1

таблицы должна быть вне ошибки парсера петли –

ответ

0

Таким образом, он работает:

Массив для проверки (используйте $ результат в вашем случае)

$result=array(
array('post_title'=>'title 1','post_at'=>'at 1'), 
array('post_title'=>'title 2','post_at'=>'at 2'), 
array('post_title'=>'title 3','post_at'=>'at 3'), 
) 

Html:

<table class='tbl-qa'> 
<tr> 
    <th class='table-header' width='20%'>Title</th> 
    <th class='table-header' width='5%'>Date</th> 
</tr> 
<?php 
    if(!empty($result)) { 
     foreach($result as $row) { 
     ?> 
     <tr class='table-row'> 
      <td><a style="text-decoration: none;" href="<?php echo $row['description']; ?>"> 
      <?php echo $row['post_title']; ?></a></td> 
      <td><?php echo $row['post_at']; ?></td> 
     </tr> 
     <?php 
     } 
    ?> 
    <?php 
    } 
?> 

Как вы можете видеть, заголовок, если он написан просто один раз, потому что он вышел из цикла, в то время как строка внутри цикла будет повторяться. Наконец закройте таблицу из петли.

+0

: синтаксическая ошибка, неожиданный $ end в /home/a8814009/public_html/index.php в строке 107 – vinman64

+0

Не знаю, какая из вас - линия 107. Мой код имеет 28 строк и работает правильно. Я также добавил массив, чтобы вы могли его протестировать. –

+0

Спасибо Giacomo Имея еще 1 проблему. Заголовки заголовка и данных отображаются до начала поиска. Посмотрите, что я имею в виду на http://vince.netau.net. Если вы пытаетесь найти использование, используйте биткойн. – vinman64

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