!!!fragen zu site 2 erstellen!!!

Dieses Thema im Forum "Webentwicklung" wurde erstellt von JuTzI666, 3. Mai 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 3. Mai 2006
    hi @ll also ich hab ein problem und zwar folgendes:

    ich möchte, dass wenn eine ausgabe aus der mysql db mehr als 20 sind, zu unterst einen link kommt mit: index.php?site=2 oder so...

    und dass immer weiter bei site=3 usw...

    hab mal folgenden code, doch komme ned weiter

    PHP:
    <?
    @
    mysql_connect ( "localhost" , "jutzi666" , "meinpw" ) or die( "Verbindung zur Datenbank konnte nicht aufgebaut werden!!!" );
    @
    mysql_select_db ( "jutzi666" ) or die( "Datenbankselektierung fehlgeschlagen!" );
    session_start ();
    session_name ( "sMs" );

    $result  mysql_query
    ( "SELECT `Artist` 
    FROM `down` 
    ORDER BY `Artist` ASC 
    LIMIT 0 , 20"
    ) or die( mysql_error ());
    {}
    while(
    $site  mysql_fetch_array ( $result ))
    {
    echo 
    '<a href="index.php?site=2">Seite 2</a><br>' ;
    }
    ?>
    das mit dem link stimmt ned, dass weiss ich doch kann jmd helfen?

    10er gibts

    thx mal an alle...

    mfg JuTzI666
     
  2. 3. Mai 2006
    Also:

    Als 1.


    $all = mysql_query("SELECT COUNT(*) as total FROM tabelle");

    // eventuell noch mit WHERE blabla=blablabla



    Alle Einträge erfässt du mit:

    $all[total]



    Nun willst du 20 Pro Seite.
    Damit du nicht immer bei 0 anfängst, mach doch dies bitte an den Anfang: (die einfachste variante)

    $start = $_GET["start"];


    Danach folgendes:


    if(empty($start)) { $start = "0"; }


    Nun deine MySQL Abfrage kurz anpassen:


    $result = mysql_query
    ("SELECT `Artist`
    FROM `down`
    ORDER BY `Artist` ASC
    LIMIT $start , 20") or die(mysql_error());


    Und dann das mit den Links ist Mathe^^

    Nächste Seite anzeigen lassen:


    if($all[total]>$start) {
    echo "<a href='?start=".$start+20."'>Nächste Seite</a>";
    }


    So sollte es eigentlich gehen, bin bissel kaputt heute, deswegen kann ich was übersehen haben^

    Natürlich ist dieshier, die allereirnfachste Variante, die beste dauert mir jetzt zu lange^^

    MfG

    Cydoc
     
  3. 3. Mai 2006
    hi also thx erstmal 10er ist raus...doch es gibt n fehler...

    Parse error: syntax error, unexpected T_VARIABLE in /usr/export/www/hosting/jutzi666/sms/test.php on line 9

    und der code ist jetzt so:

    PHP:
    <?
    @
    mysql_connect ( "localhost" , "jutzi666" , "meinpw" ) or die( "Verbindung zur Datenbank konnte nicht aufgebaut werden!!!" );
    @
    mysql_select_db ( "jutzi666" ) or die( "Datenbankselektierung fehlgeschlagen!" );
    session_start ();
    session_name ( "sMs" );

    $all  mysql_query ( "SELECT COUNT(*) as total FROM donwz" );
    $all [ total ]
    $start  $_GET [ "start" ];
    if(empty(
    $start )) {  $start  "0" ; }
    $result  mysql_query
    ( "SELECT `Artist` 
    FROM `down` 
    ORDER BY `Artist` ASC 
    LIMIT 
    $start  , 20" ) or die( mysql_error ());
    if(
    $all [ total ]> $start ) {
    echo 
    "<a href='?start=" . $start + 20. "'>Nächste Seite</a>" ;
    }
    ?>
    zeile 9 ist

    $start = $_GET["start"];

    mfg JuTzI666
     
  4. 3. Mai 2006
    Na wenn da mal nicht das Semikolon in Zeile ACHT fehlt
    Darüber hinaus bleibt mir die Funktion von $all[total] verschlossen, kann mich mal bitte jemand aufklären?
     
  5. 4. Mai 2006
    -.-


    Nochmal zu $all[total]


    Guck dir an, wie ich diee EInträge Counten lasse



    COUNT(*) as total


    AS TOTAL ist dabei wichtig!


    Du hast einfach $all[total] reingeschrieben, das meinte ich damit nicht...


    Damit du die Anzahl der EInträge bekommmst , z.b. ausgegeben, kannst du nciht echo $all; machen,

    sondern echo $all[total];
    !

    nimm einfach $all[total] da mal raus, also:

    PHP:
    <?
    session_start ();
    session_name ( "sMs" );
    @
    mysql_connect ( "localhost" , "jutzi666" , "meinpw" ) or die( "Verbindung zur Datenbank konnte nicht aufgebaut werden!!!" );
    @
    mysql_select_db ( "jutzi666" ) or die( "Datenbankselektierung fehlgeschlagen!" );


    $all  mysql_query ( "SELECT COUNT(*) as total FROM donwz" );
    $start  $_GET [ "start" ];
    if(empty(
    $start )) {  $start  "0" ; }
    $result  mysql_query
    ( "SELECT `Artist` 
    FROM `down` 
    ORDER BY `Artist` ASC 
    LIMIT 
    $start  , 20" ) or die( mysql_error ());
    $next  $start + 20 ;
    if(
    $all [ total ]> $next ) {
    echo 
    "<a href='?start=" . $next . "'>Nächste Seite</a>" ;
    }
    ?>
    ps: ich würd die session vor mysql machen ^^

    Wofür ist $all[totalt] wichtig?

    Genau hierführ:


    if($all[total]>$next) {


    Erklärung: Sind mehr einträge in der Datenbank vorhanden, als momentan angezeigt werden, so wird ein neuer Link für die nächste Seite angezeigt. Um unten ein Seitenindex erstellen zu können ([1][2][3] etc)

    Ist nochmehr Mathe anzuwenden

    Kurform in Mathe:

    Gesamteinträge / 20 (Weil es 20 pro seite seien sollen)

    Nun hast du einen Wert, lass diesen runden auf 0 stellen hinter dem komma!

    Dann egnerierst du soviel links...

    Ein bisschen PhP:

    PHP:
    <?
    $seiten  $all [ total ] /  20 // Seitenanzahl auslesen lassen
    $seiten  round ( $seiten 0 );  // Runden auf ganze Zahlen !

    for( $i = 1 , $i <= $seiten , $i ++) {

    $start  $start + 20 ;

    echo 
    "<a href='?start=" . $start . "'>[" . $i . "]</a>" ;

    }

    ?>
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.