views:

34

answers:

2

i've implemented this pagination class for search.php page in a separate file called class.pagination.php, but when i execute the search page, nothing happens. it just displays a blank page.

this is my search.php file, where i'm calling this class:

    <?php


    include 'config.php';
    require ('class.pagination.php');


    $search_result = "";

    $search_result = $_GET["q"];
    $search_result = trim($search_result);

    //Check if the string is empty
    if ($search_result == "") {
      echo  "<p class='error'>Search Error. Please Enter Your Search Query.</p>" ;
      exit();
          }


   //search query for multiple keywords 
    if(!empty($search_result))
    {
      // the table to search
      $table = "thquotes";
      // explode search words into an array
      $arraySearch = explode(" ", $search_result);
      // table fields to search
      $arrayFields = array(0 => "cQuotes");
      $countSearch = count($arraySearch);
      $a = 0;
      $b = 0;
      $query = "SELECT cQuotes, vAuthor, cArabic, vReference FROM ".$table." WHERE (";
      $countFields = count($arrayFields);
      while ($a < $countFields)
      {
        while ($b < $countSearch)
        {
          $query = $query."$arrayFields[$a] LIKE '%$arraySearch[$b]%'";
          $b++;
          if ($b < $countSearch)
          {
            $query = $query." AND ";
          }
        }
        $b = 0;
        $a++;
        if ($a < $countFields)
        {
          $query = $query.") OR (";
        }
      }
      $query = $query.")";
      $result = mysql_query($query, $conn)
      or die ('Error: '.mysql_error());

      $totalrows = mysql_num_rows($result);

      if($totalrows < 1)
      {
        echo '<span class="error2">No matches found for "'.$search_result.'"</span>';
      }
      else
      {

    ?>

    <div class="caption">Search Results</div>
    <div class="center_div">
    <table>
        <?php while ($row= mysql_fetch_array($result, MYSQL_ASSOC)) {
            $cQuote =  highlightWords(htmlspecialchars($row['cQuotes']), $search_result);
            ?>
            <tr>
            <td style="text-align:right; font-size:15px;"><?php h($row['cArabic']); ?></td>
                <td style="font-size:16px;"><?php echo $cQuote; ?></td>
                <td style="font-size:12px;"><?php h($row['vAuthor']); ?></td>
                <td style="font-size:12px; font-style:italic; text-align:right;"><?php h($row['vReference']); ?></td>
            </tr>
        <?php } ?>
    </table>
    </div>

    <?php
    }
    }
    else {
        exit();
    }

    //Setting Pagination
    $pagination = new pagination();
    $pagination->byPage = 5;
    $pagination->rows = $totalrows; // number of records in a table-back mysql_num_rows () instance or another, you have to play
    $from = $pagination->fromPagination(); // sql used for applications such LIMIT $ from, $ pagination-> byPage
    $pages = $pagination->pages();

    if(isset($pages)) {?>
    <div class="pagination">
        <?foreach ($pages as $key){?>
        <?if($key['current'] == 1) {?>
        <a href="?p=<?=$key['p']?>" class="active"><?=$key['page']?></a>
        <?} else {?>
        <a href="?p=<?=$key['p']?>" class="inactive"><?=$key['page']?></a>
        <?}?>
        <?}?>
    </div>
    <?}
    //End Pagination
    ?>
+1  A: 

At the beginning you require class.pagination.php but on your blog it says the filename is pagination.class.php. Is this the problem?

F. B.
i renamed the file. .that's not the issue.that isn't my blog.
fuz3d
A: 

Try to echo something before the includes.

Lo'oris
i did that. strangely enough, it doesn't echo the text displaying nothing. it seems as though search.php file isn't being read. .but if i remove the pagination include and its code from the file, it displays the search results smoothly - without pagination, ofcourse! what could be wrong?
fuz3d
If removing the `require ('class.pagination.php');` makes the problem disappear, the problem is related to that file, of course.
Lo'oris