css / php de sayfalama

2 Cevap php

iki soru:

- 1 - bu sayfaların hepsi sayısını görüntüler. ama ben o kadar göstermek istiyorum:

<< Önceki. . 3 4 [5] 6 7. . Sonraki >>

- 2 - i hayır, rengini değiştirmek veya font-boyutunu artırmanız gerekir geçerli sayfada getirdiğinizde, ama bir css değiştirdiğinizde: yerine biri hover, tüm sayfa nos renk değişikliği veya büyüklüğü hangi i 'işaret m. Ayrıca, modifiye zaman: aktif, hiçbir şey olmuyor.

Bu php benim çağrı kodu:

 $self = $_SERVER['PHP_SELF'];
            $limit = 2; //Number of results per page
            $numpages=ceil($totalrows/$limit);

            $query = $query." ORDER BY idQuotes LIMIT " . ($page-1)*$limit . ",$limit";
            $result = mysql_query($query, $conn)
             or die('Error:' .mysql_error());
?>

<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>

<div class="searchmain">
<?php
   //Create and print the Navigation bar
       $nav="";
       $next = $page+1;
       $prev = $page-1;
       if($page > 1) {
            $nav .= "<span class=\"searchpage\"><a onclick=\"showPage('','$prev'); return false;\" href=\"$self?page=" . $prev . "&q=" .urlencode($search_result) . "\">< Prev</a></span>";

            $first = "<span class=\"searchpage\"><a onclick=\"showPage('','1'); return false;\" href=\"$self?page=1&q=" .urlencode($search_result) . "\"> << </a></span>" ;
        }

        else {
            $nav .= "&nbsp;";
            $first = "&nbsp;";
        }

       for($i = 1 ; $i <= $numpages ; $i++) {
            if($i == $page) {
                $nav .= "<span class=\"searchpage\">$i</span>";
            }else{
                $nav .= "<span class=\"searchpage\"><a onclick=\"showPage('',$i); return false;\" href=\"$self?page=" . $i . "&q=" .urlencode($search_result) . "\">$i</a></span>";
            }
        }

        if($page < $numpages) {
            $nav .= "<span class=\"searchpage\"><a onclick=\"showPage('','$next'); return false;\" href=\"$self?page=" . $next . "&q=" .urlencode($search_result) . "\">Next ></a></span>";

            $last = "<span class=\"searchpage\"><a onclick=\"showPage('','$numpages'); return false;\" href=\"$self?page=$numpages&q=" .urlencode($search_result) . "\"> >> </a></span>";
        }

        else {

             $nav .= "&nbsp;";
             $last = "&nbsp;";
        }


        echo  $first . $nav . $last;
?>

</div>

ve bu şu anda görüntüler nasıl:

alt text

css:

.searchmain {
    margin:30px;
    text-align: center;
}
.searchpage {
   border: solid 1px #ddd;
   background: #fff;
   text-align:left;
   font-size: 16px;
   padding:9px 12px;
   color: #FEBE33;
   margin-left:2px;
}

.searchpage a{
    text-decoration: none;
    color: #808080;
}

.searchpage a:hover {
    color: #FEBE33;
    border-color: #036;
    text-decoration: none;
}

.searchpage a:visited {
    color: #808080;
}

2 Cevap

İlk program çözümü oldukça basit görünüyor; Eğer current_page + surrounding_links için current_page - surrounding_links basitçe döngü böylece görüntülemek istediğiniz çevreleyen bağlantıların sayısını biliyorum. Başlangıçta, sonu ve noktalar göstermek için ve işiniz bittiğinde için bazı koşulların ekleyin.

Css için; Sana ulaşmak istiyorum ne tamamen emin değilim ama sadece a etiketleri kullanarak çözebilir düşünüyorum, spans gereksiz gibi çevreleyen, yalnızca öğeler için onlara ihtiyacımız olduğunu bağlantılar (.no_link, aşağıdaki örnekte) değildir:

a, .no_link {
    float: left;
    display: block;
    padding:9px 12px;
    border: solid 1px #ddd;
    background: #fff;
    text-align:left;
    font-size: 16px;
}
a {
    color: #808080;
}
a:hover {
    color: #FEBE33;
    border-color: #036;
}
.no_link {
    color: #FEBE33;
}

1. bu CSS dolgu ve sınır özelliklerini değiştirin:

.searchpage {
   border: none;
   background: #fff;
   text-align:left;
   font-size: 16px;
   padding:3px;
   color: #FEBE33;
   margin-left:2px;
}

Ve $ i köşeli parantez için kodları ekleyebilirsiniz.

for($i = 1 ; $i <= $numpages ; $i++) {
            if($i == $page) {
                $nav .= "<span class=\"searchpage\">&#91;$i&#93;</span>";

Bu sizin numaraları görseller değiştirmek gerekir, ben canlı bir site yok ama çalışması gerekir gibi görme test değil.

2. yerine .searchpage a:hover deneyin searchmain a:hover.

Bunların hiçbiri test edilir, ama en iyi ben kodunuzu gördükten sonra ile gelebilir. Bu doğru yönde en az gelin size yardımcı olur umarım :)