ilch Forum » Allgemein » HTML, PHP, SQL,... » Pagination Bootstrap

Geschlossen
  1. #1
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    Moinsen!

    Ich möchte folgendes Pagination-Layout benutzen:
    <nav>
      <ul class="pagination">
        <li><a href="#"><span aria-hidden="true">&laquo;</span><span class="sr-only">Previous</span></a></li>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
        <li><a href="#">4</a></li>
        <li><a href="#">5</a></li>
        <li><a href="#"><span aria-hidden="true">&raquo;</span><span class="sr-only">Next</span></a></li>
      </ul>
    </nav>


    Mein Ansatz (mysql.php):
    function db_make_sites ($page ,$where ,$limit ,$link ,$table, $anzahl = NULL) {
    
      $hvmax = 4; // hinten und vorne links nach page
    	$maxpage = ''; if ( empty ($MPL) ) { $MPL = ''; }
    	if ( is_null ( $anzahl ) ) {
        $resultID = db_query ( "SELECT COUNT(*) FROM prefix_".$table." ".$where );
        $total    = db_result($resultID,0);
      } else {
        $total = $anzahl;
      }
      if ($limit < $total) {
    	  $maxpage = $total / $limit;
    	  if (is_double($maxpage)) {
    		  $maxpage = ceil($maxpage);
    		}
    		$ibegin = $page - $hvmax;
    		$iende  = $page + $hvmax ;
    
    	  $vgl1 = $iende + $ibegin;
    		$vgl2 = ($hvmax * 2) + 1;
    		if ( $vgl1 <= $vgl2 ) {
    		  $iende = $vgl2;
    		}
    		$vgl3 = $maxpage - ($vgl2 -1);
    		if ($vgl3 < $ibegin ) {
    		  $ibegin = $vgl3;
    		}
    
    		if ($ibegin < 1) {
    		  $ibegin = 1;
    		}
    		if ($iende > $maxpage) {
    		  $iende = $maxpage;
    		}
    		$vMPL = '';
    		if ($ibegin > 1) {
    		  $vMPL = '<a href="'.$link.'-p1">Erste Seite</a>';
    		}
    		$MPL = $vMPL.'';
    		for($i=$ibegin; $i <= $iende; $i++) {
          if($i == $page) {
    				$MPL .= $i;
    			} else {
    			  $MPL .= '<a href="'.$link.'-p'.$i.'">'.$i.'</a>';
    			}
          if ($i != $iende) {
    			  $MPL .= '';#Trennzeichen zwischen den Seiten
    			}
    		}
    		$MPL .= '<a href="'.$link.'-p'.$i.'">'.$i.'</a>';
    		if ($iende < $maxpage) {
    		  $MPL .= '<a href="'.$link.'-p'.$maxpage.'">Letzte Seite</a>';
    		}
      }
    	return '<nav><ul class="pagination"><li>'.$MPL.'</li></ul></nav>';
    }


    und so siehts aus:

    gesperrtes Bild

    Bin für jede Hilfe dankbar!


    verwendete ilch Version: 1.1 P

    betroffene Homepage: externer Link
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    *DEZENTER PUSH*

    lächeln
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    function db_make_sites ($page ,$where ,$limit ,$link ,$table, $anzahl = NULL) {
    
      $hvmax = 4; // hinten und vorne links nach page
    	$maxpage = ''; if ( empty ($MPL) ) { $MPL = ''; }
    	if ( is_null ( $anzahl ) ) {
        $resultID = db_query ( "SELECT COUNT(*) FROM prefix_".$table." ".$where );
        $total    = db_result($resultID,0);
      } else {
        $total = $anzahl;
      }
      if ($limit < $total) {
    	  $maxpage = $total / $limit;
    	  if (is_double($maxpage)) {
    		  $maxpage = ceil($maxpage);
    		}
    		$ibegin = $page - $hvmax;
    		$iende  = $page + $hvmax ;
    
    	  $vgl1 = $iende + $ibegin;
    		$vgl2 = ($hvmax * 2) + 1;
    		if ( $vgl1 <= $vgl2 ) {
    		  $iende = $vgl2;
    		}
    		$vgl3 = $maxpage - ($vgl2 -1);
    		if ($vgl3 < $ibegin ) {
    		  $ibegin = $vgl3;
    		}
    
    		if ($ibegin < 1) {
    		  $ibegin = 1;
    		}
    		if ($iende > $maxpage) {
    		  $iende = $maxpage;
    		}
    		$vMPL = '';
    		if ($ibegin > 1) {
    		  #$vMPL = '<a href="'.$link.'-p1">&laquo;</a> ';
    		  $vMPL = '<li><a href="'.$link.'-p1"><span aria-hidden="true">&laquo;</span><span class="sr-only">Erste Seite</span></a></li>';
    		}
    		$MPL = $vMPL;
    		for($i=$ibegin; $i <= $iende; $i++) {
          if($i == $page) {
    				#$MPL .= $i;
    				$MPL .= '<li class="active"><a href="#">'.$i.'</a></li>';
    			} else {
    			  #$MPL .= '<a href="'.$link.'-p'.$i.'">'.$i.'</a>';
    			  $MPL .= '<li><a href="'.$link.'-p'.$i.'">'.$i.'</a></li>';
    			}
          if ($i != $iende) {
    			  $MPL .= '';
    			}
    		}
    		$MPL .= '';
    		if ($iende < $maxpage) {
    		  #$MPL .= ' <a href="'.$link.'-p'.$maxpage.'">&raquo;</a>';
    		  $MPL .= '<li><a href="'.$link.'-p'.$maxpage.'"><span aria-hidden="true">&raquo;</span><span class="sr-only">Letzte Seite</span></a></li>';
    		}
      }
    	return '<nav><ul class="pagination">'.$MPL.'</ul></nav>';
    
    }
    1 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    CeeJay Hall Of Fame
    Registriert seit
    23.03.2007
    Beiträge
    2.425
    Beitragswertungen
    18 Beitragspunkte
    herzlichen Dank Dastiii!!
    Nichts ist so sicher, wie die Änderung.
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    dastiii Mitglied
    Registriert seit
    27.12.2005
    Beiträge
    2.354
    Beitragswertungen
    84 Beitragspunkte
    Kein Problem.
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten