Seitenweises anzeigen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Seitenweises anzeigen

    Hey,

    ich bin dabei ein Musikarchiv zu basteln und hänge jetzt bei folgendem Problem:

    ich würde es gerne so machen, dass nicht alle lieder auf einer seite angezeigt werden sondenr immer nur ca. 200, udn wenn man unten dann auf weiter klickt, kommt man zur nächsten seite, ich hab aber keien idee wie ich das einbauen könnte.

    functions_inc.php
    PHP-Code:
    <?php
       
    function showlist() {
          
    $query "
             SELECT *
             FROM music_archiv
             ORDER BY Artist
          "
    ;
          
    $sql mysql_query($query) OR die(mysql_error());
          echo 
    '<table class=tableBasic><thead><tr><th class="center">
    Interpret</th><th class="center">Titel</th><th class="center">
    Album</th><th class="center">Ändern</th><th class="center">
    Löschen</th></thead></tr>'
    ;

          while(
    $row mysql_fetch_assoc($sql)) {
             echo 
    '<tbody><tr><td class="tdContent center">'.$row['Artist'].'</td>
                <td class="tdContent center">'
    .$row['Title'].'</td>
                <td class="tdContent center">'
    .$row['Album'].'</td>
                <td class="tdContent center"><a href="?action=edit&ID='
    .$row['ID'].'">
    <img src="inc/note_edit.png"></a></td>
                <td class="tdContent center"><a href="?action=delete&ID='
    .$row['ID'].'">
    <img src="inc/icon_small_cross.png"></td>'
    .
             
    '</tr></tbody>';
          }
          return 
    false;
       }
       
       function 
    makeentry($cdinfo) {
          
    $query '
             INSERT INTO music_archiv (
                   Artist,
                   Title,
                   Album
                ) VALUES (
                \''
    .$cdinfo['artist'].'\',
                \''
    .$cdinfo['title'].'\',
                \''
    .$cdinfo['album'].'\'
             );
          '
    ;
          if(
    mysql_query($query)) {
             echo 
    '<b>'.$cdinfo['artist'].' - '.$cdinfo['title'].' - '.$cdinfo['album'].'</b>
     erfolgreich eingetragen.<br /><br /><a href="?action=list">zurück zur Datenbank</a>'
    ;
          } else {
             die(
    mysql_error());
          return 
    false;
          }
       }
       
       function 
    deleteentry($id) {
          
    $query '
             DELETE FROM music_archiv
             WHERE ID =  \''
    .$id.'\'
          '
    ;
          if(
    mysql_query($query)) {
                echo 
    'Eintrag wurde erfolgreich aus der Datenbank gelöscht!
    <br /><br /><a href="?action=list">zurück zur Datenbank</a>'
    ;
          } else
             die(
    mysql_error());
          return 
    false;
       }
       
       function 
    saveentry($cdinfo$id) {
          
    $query '
             UPDATE music_archiv
             SET
                Artist = \''
    .$cdinfo['artist'].'\',
                Title = \''
    .$cdinfo['title'].'\',
                Album = \''
    .$cdinfo['album'].'\'      
             WHERE
                ID = \''
    .$id.'\'
          '
    ;
          if(
    mysql_query($query)) {
             echo 
    '<b>'.$cdinfo['artist'].' - '.$cdinfo['title'].' - '.$cdinfo['album'].'</b>
     wurde erfolgreich geändert.<br /><br /><a href="?action=list">zurück zur Datenbank</a>'
    ;
          } else
             die(
    mysql_error());
          return 
    false;
       }
       
       function 
    editentry($id) {
          
    $query '
             SELECT *
             FROM music_archiv
             WHERE ID = \''
    .$id.'\'
             ORDER BY Artist
          '
    ;
          
    $sql mysql_query($query) OR die(mysql_error());
          
    $row mysql_fetch_assoc($sql);
          
          include 
    "inc/edit.form.inc.php";
       }
    ?>
    index.php
    PHP-Code:
    <?php

    echo "
    <html><head>"
    ;

       include (
    "inc/header_global_inc.php");
       include 
    'inc/head.inc.php';
       
    echo 
    "
    <title>blubb</title>

    </head><body>

        <div class=divMatrix>"
    ;


       include (
    "inc/navigation_global_inc.php");      
          
          if(
    $umsSystem->level ) { 

          include (
    "inc/navigation_user_inc.php");
          
          } else {
                
          echo 
    "";   
             
          }
       
       
          if(
    $umsSystem->level == ) { 
       
          echo 
    "</div>";
       
          }   
          
       
    $action strtolower(trim(strip_tags($_GET['action'])));
       if(empty(
    $action))
          
    $action 'list';

       switch(
    $action)
       {
          case 
    'entry' :
          {
             include 
    'inc/form.inc.php';

             if(isset(
    $_GET['do']))
             {
                if(!empty(
    $_POST['artist']) AND !empty($_POST['title']))
                {
                   
    $cdinfo['artist'] = trim(htmlspecialchars($_POST['artist']));
                   
    $cdinfo['title']  = trim(htmlspecialchars($_POST['title']));
                   
    $cdinfo['album']  = trim(htmlspecialchars($_POST['album']));

                   
    makeentry($cdinfo);
                }
                else
                   echo 
    'Bitte fehlende Felder ausfüllen.';
             }
             break;
          }
          
          case 
    'edit':
             if((isset(
    $_GET['ID'])) OR (isset($_POST['ID']))) {
                
    editentry($_GET['ID']);
             
                if(isset(
    $_GET['do'])) {               
                   
    $cdinfo['artist'] = trim(htmlspecialchars($_POST['artist']));
                   
    $cdinfo['title']  = trim(htmlspecialchars($_POST['title']));
                   
    $cdinfo['album']  = trim(htmlspecialchars($_POST['album']));
                      
                   
    saveentry($cdinfo$_POST['ID']);
                }
             } else {
                echo 
    'Eintrag konnte nicht bearbeitet werden! Bitte versuchen Sie es erneut!<br />';
                
    showlist();
             }
             
          break;
          
          case 
    'delete':
             if(isset(
    $_GET['ID']))
                
    deleteentry($_GET['ID']);
             else {
                echo 
    'Eintrag konnte nicht gelöscht werden! Bitte versuchen Sie es erneut!<br />';
                
    showlist();
             }
          break;
          
          case 
    'search' :
          {
             include 
    'inc/search.form.inc.php';

             if(isset(
    $_GET['do']))
             {
                
    $artist trim(htmlspecialchars($_POST['artist']));
                
    $title  trim(htmlspecialchars($_POST['title']));
                
    $album  trim(htmlspecialchars($_POST['album']));
                if(!empty(
    $artist) || !empty($title) || !empty($album))
                {
                   
    $query "SELECT *
                               FROM music_archiv
                              WHERE (Artist LIKE '%
    $artist%')
                                AND (Title LIKE  '%
    $title%')
                                AND (Album LIKE  '%
    $album%')";

                   
    $sql mysql_query($query) OR die(mysql_error());
          echo 
    '<table class=tableBasic><thead><tr><th class="center">
    Interpret</th><th class="center">Titel</th><th class="center">
    Album</th><th class="center">Ändern</th><th class="center">
    Löschen</th></thead></tr>'
    ;

          while(
    $row mysql_fetch_assoc($sql)) {
             echo 
    '<tbody><tr><td class="tdContent center">'.$row['Artist'].'</td>
                <td class="tdContent center">'
    .$row['Title'].'</td>
                <td class="tdContent center">'
    .$row['Album'].'</td>
                <td class="tdContent center"><a href="?action=edit&ID='
    .$row['ID'].'"><img src="inc/note_edit.png"></a></td>
                <td class="tdContent center"><a href="?action=delete&ID='
    .$row['ID'].'">
    <img src="inc/icon_small_cross.png"></td>'
    .
             
    '</tr></tbody>';
          }
                }
                else
                   echo 
    'Ihre Suche brachte keine Ergebnisse.';
             }
             break;
          }
          default:
             
    showlist();
       }

       echo 
    "
    </div>"
    ;
          
       include 
    'inc/footer.inc.php';

    echo 
    "
      </body></html>"
    ;
    Was nat ürlich super toll wäre, wenn das schon jemand einbauen könnte - weil ich habe jetzt schon so viel rumprobiert und hab dazu nix hinbekommen, verschicke auf Anfrage auch gerne das gesamte Script.
    Danke schonmal für eure Hilfe


    Mit freundlichen Grüßen

    Chris
    EDIT:

    Breaks sponsored by jahlives

    Zuletzt geändert von jahlives; 05.02.2008, 12:55.

  • #2
    *move* zu Codegegammel.

    Kommentar


    • #3
      1. code umbrechen!
      2. ggf. mal das hier lesen.

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        meinst du, du oder jemand anders könnte das einbauen? weil wie schon gesgat ich verzweifle daran udn solche seiten kenn ich inzwischen zu genüge..

        Kommentar


        • #5
          meinst du, du oder jemand anders könnte das einbauen?
          Können ja, wollen...
          Wenn du bereits bist dafür zu löhnen, dann mach ein Jobangebot draus. Aber jemand der das für lau macht
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            wieviel würdest du dafür haben wollen, wenn du es machen würdest?

            Kommentar


            • #7
              Original geschrieben von Chris1989
              wieviel würdest du dafür haben wollen, wenn du es machen würdest?
              OffTopic:
              sags ihm, pekka, dann kann ich es zur projekthilfe verschieben.

              letzte mail angekommen?



              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                sags ihm, pekka, dann kann ich es zur projekthilfe verschieben.

                letzte mail angekommen?
                Wo kommt das jetzt her? und was soll das sein?^^

                Gruß
                Chris

                Kommentar


                • #9
                  Wo kommt das jetzt her? und was soll das sein?^^
                  weil ich aus erfahrung davon ausgehe, dass die kosten für dich zu hoch sein werden, wenn das ein profi macht. daher die bemerkung als ot.

                  gruß
                  peter
                  EDIT:
                  ups, hat ja schon einer verschoben
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Immer bekommt man auf diese Sache einen tollen Link udn gesagt da wirds erklärt.
                    Aber es ist ja nicht so da sich da snich selber probiert hätte, wenn ich da snicht selber versucht hätte, hätte ich mich nicht im forum gemeldet.

                    Und so wie sich das von allen immer anhört die antworten, können die da sinnerhalb von 10min einbauen, warum tut man dann einem nicht den gefallen wenns so einfach ist, man kann ja auch mal sozial sein

                    Wir sind schließlich alle nur Menschen udn können nich alles und darum kann man sich ja untereinander helfen..

                    Naja..

                    Kommentar


                    • #11
                      man kann ja auch mal sozial sein
                      leider ist das sehr oft so, dass wenn man einem hilft, der immer mehr und mehr will. ich habe mal in fünf minuten jemanden einen code gehackt, der ihm bei einem problem half. anschließend bekam ich eine mail mit zehn weiteren änderungswünschen.

                      und glaub mir, dass ist absolut nicht ungewöhnlich. was ist bei deinem nächsten problem. soll das wieder jemand für dich machen? und bei dem darauf folgendem problem?

                      hier bekommst du hilfe zur selbsthilfe. aber lernen musst du es schon selber. ich selber und die anderen auch haben vieeeeeeeeeel zeit und mühe investiert, um das zu lernen. warum du nicht auch?

                      gruß
                      peter
                      Zuletzt geändert von Kropff; 05.02.2008, 13:54.
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Weil wir unsere Brötchen auch nicht beim Bäcker um die Ecke geschenkt bekommen. Und seine Arbeit (also zumindest das Brötchenbacken) ist ja noch viel einfacher als Programmieren.

                        Denk mal drüber nach und fang bitte keine Diskussion an. Die kannst du schon über die Suche finden und gerne durchlesen.

                        Kommentar


                        • #13
                          ich selber und die anderen auch haben vieeeeeeeeeel zeit und mühe investiert, um das zu lernen. warum du nicht auch?
                          warum schreib ich denn die ganze zeit das ichs seit tage versuche -.-
                          ich komme ja nicht für jedes scheiß problem hierhin sondern nur weil ich wirklich nicht mehr weiter weiß!
                          und diese funktion ist die wichtigste und auch erstmal letzte in meinem Script, denn wenn ich mir 10000 musiktitel anzeigen lassen will auf einer seite is das ziemlich unvorteilhaft..

                          Naja.. vlt kann mir ja doch noch jemand dabei helfen, ansonsten muss ich das halt erstmal auf eis legen - leider..

                          Gruß
                          Chris

                          Kommentar


                          • #14
                            hast du denn in deinen abfragen überhaupt schon mit LIMIT gearbeitet?

                            gruß
                            peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Kommentar


                            • #15
                              Na ja nach tagelangen Versuchen zum Thema hättest du auf LIMIT bei MySql stossen können. Das ist schonmal die halbe Miete.
                              Und das zweite ist, dass du wissen musst bis zu welchem Eintrag die Records bereits dargestellt wurden und ab welchem Record die nächste Seite angezeigt werden soll. Da würde sich ein GET Parameter anbieten, der die MySql ID des ersten zu zeigenden Datensatzes festlegt und basierend auf diesem jagst du wieder eine Query an die DB z.B.
                              PHP-Code:
                              //GET Parameter mit name und wert ==> url?name=wert
                              $sql "SELECT name,album,band FROM music WHERE id >=".$_GET['wert']." LIMIT 200"
                              Ist nur ein Beispielcode --> Stichwort Verhindern von MySql Injections solltest du dir davor noch zu Gemüte führen.
                              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                              Kommentar

                              Lädt...
                              X