lücken bei datensätze anzeigen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • lücken bei datensätze anzeigen

    Hallo,

    habe eine DB in der z.B. Bilder gespeichert werden. Wenn ich mir jetzt die Bilder anzeigen lassen möchte, je 5 auf einer Seite funtioniert das leider nicht immer. Wenn ich z.B. 7 Einträge habe, sollten auf der 1. Seite 5 Bilder angezeigt werden und auf der 2. Seite nur 2. Bei mir zeigt es aber auf der 1. Seite nur 3 und auf der 2. Seite dann 4 Bilder an.

    Kann mir da jemand helfen?

    Glaube ich weiß auch wo das Problem liegt, hab aber keine Lösungsidee.
    Versuch es mal zu beschreiben.

    Die Bilder werden in verschiedenen Ordnern gespeichert. Ordnerstuktur z.B.: Test/Ebene1/Ebene2...
    Wenn ich jetzt Bild1 in Test einfüge,
    dann Bild2, Bild3, Bild4 in Ebene1
    und Bild5, Bild6 in Ebene2
    dann Bild7, Bild8, Bild9 wieder in Ebene1, Reihenfolge ist glaub wichtig für mein Problem.

    Dann sind es insgesamt 9 Bilder.

    Wenn ich mir jetzt die Bilder in Test anschauen möchte, möchte ich nur das Bild 1 sehen, klappt auch.

    Jetzt kommt aber das Problem:
    In Ebene 1 sind es 6 Bilder. Diese werden jetzt nicht 5 auf Seite1 und 1 auf Seite 2 angezeigt, sondern 3 auf Seite 1 und 3 auf Seite2.
    Das ist glaub so, weil ich Bild5 und Bild6 nach Bild2-4 eingefügt habe, zwar in einer anderen Ebene, aber er macht es trotzdem so.

    Hoffe es war halbwegs verständlich, hab mir echt Mühe mit der Beschreibung gemacht.
    Hat da jemand ne Idee?

    Meine DB Abfrage zum Anzeigen der Bilder mach ich eigentlich so dass Test/Dateinamen
    bzw. Test/Ebene1/Dateinamen ...
    angezeigt werden sollen

    Hab echt keine Idee wo ich da anfangen kann zu suchen und was zu ändern, bin also für jeden Hinweis froh!

  • #2
    bilder stehen in der DB und zum Anzeigen machste eine Abfrage? um nur 5 von 7 Bildern anzuzeigen benutze am besten LIMIT in der abfrage in deinem Fall LIMIT 0, 5
    mfg
    marc75

    <Platz für anderes>

    Comment


    • #3
      Das mit limit klappt ja schon, aber eben nur, wenn die Bilder der Reihe nach eingefügt worden sind. Wenn man Bilder eingefügt hat und dabei verschiedene Bilder in verschiedene Ordner gestellt hat, klappt es nicht mehr.

      Comment


      • #4
        Original geschrieben von schokoei
        Das mit limit klappt ja schon, aber eben nur, wenn die Bilder der Reihe nach eingefügt worden sind.
        zum x-ten mal:

        datensätze in einer DB haben keine reihenfolge!


        eine solche kannst du erst beim auslesen durch sortierung herstellen.
        was du also im zweifelsfalle brauchst, ist ein sortierkriterium, nach dem du die bilder ordnen lassen kannst.
        wenn es bisher noch kein geeignetes gibt - dann denk dir mal eins aus.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Comment


        • #5
          Darum geht es ja nicht, Sortieren kan ich es ja. Jedes Bild hat ne Id.
          Aber die Aufteilung auf die Seiten stimmt eben nicht. Auch wenn ich es mit limit mache.
          Nochmal in ein bißchen kürzer, aber dafür vielleicht verständlicher:
          Ich habe Bilder im Ordner Ebene2. Es sind 7 Bilder.
          Aufteilung sollte 5 auf Seite 1 und 2 auf Seite2 sein.
          Das klappt auch! Ach sortiert nach ids. Das ist nicht das Problem.
          Es klappt aber nicht mehr, wenn ich Bilder auch in Ebene3 und in Ebene1 habe. Dann ignoriert er das limit und verteilt die 7 Bilder, die in Ebene2 gespeichert sind irgendwie.

          Mal was anderes: Wenn ich hier antworten will oder ein neues Thema erstellen will, muss ich das ganze mindestens 2x machen, weil ich irgendwie nicht mehr angemeldet zu sein scheine, wenn ich mit schreiben fertig bin. Woran kann das liegen?

          Comment


          • #6
            dann zeige mal deine SQL-Abfrage und zwar die per echo-Ausgabe

            Comment


            • #7
              machst du für jede ebene eine Abfrage? oder holst du alle Daten mit einer Abfrage?
              mfg
              marc75

              <Platz für anderes>

              Comment


              • #8
                Original geschrieben von schokoei
                Das ist nicht das Problem.
                Es klappt aber nicht mehr, wenn ich Bilder auch in Ebene3 und in Ebene1 habe. Dann ignoriert er das limit und verteilt die 7 Bilder, die in Ebene2 gespeichert sind irgendwie.
                sorry, aber ich kann hier das problem noch nicht ganz nachvollziehen.

                was haben deine "ebenen" denn damit zu tun, wie viele datensätze mit LIMIT zurückgegeben werden?

                und was genau willst du eigentlich erreichen - in wie fern haben die "ebenen" etwas mit der von dir gewünschten auflistung zu tun?
                bisher hatte ich das so verstanden, dass die "ebenen" für dich einfach nur die pfade zu den bildern sind, aber auf die eigentliche auf mehrere seiten verteilte auflistung keinen besonderen einfluss haben sollten - aber scheinbar willst du ja doch die auflistung auch in abhängigkeit von deinen ebenen beinflussen - andernfalls dürfte es da ja kaum ein problem geben.

                also bitte noch mal etwas genauer beschreiben, was genau du vorhast, und wie sich das problem dann äussert.


                Mal was anderes: Wenn ich hier antworten will oder ein neues Thema erstellen will, muss ich das ganze mindestens 2x machen, weil ich irgendwie nicht mehr angemeldet zu sein scheine, wenn ich mit schreiben fertig bin. Woran kann das liegen?
                dann scheinst du ein problem mit der annahme des session-cookies zu haben ...
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Comment


                • #9
                  Ok, ich zähle erst einmal alle Bilder, dann berechne ich die Seiten...
                  Anzeigen will ich dann aber nur die, die in dem genau gleichen Pfad liegen. Darum mach ich dann noch eine if Abfrage. Ist glaub nicht so elegant, aber mir ist nichts besseres eingefallen.

                  PHP Code:
                  $select = ("SELECT * FROM bilder WHERE dateipfad LIKE '".$strSelFolder."/%'"); $strSelFolder ist z.BEbene1/Ebene2

                      $result 
                  mysql_query($select);
                           while(
                  $zaehler mysql_fetch_object($result)) {
                          if (
                  $zaehler->dateipfad == $strSelFolder."/".$zaehler->bildername){ 
                  //hiermit wollete ich verhindern, dass ein Bild aus Ebene3 (wird ja durch das % auch mit eingeschlossen) 
                  mitgezählt wirdklappt zwar nichthat aber bisher nicht so gesörtweil ich bei der Tabelle so was dann auch noch abfrage.

                               
                  //Herausfinden wie viele Datensätze markiert sind
                               
                  $count mysql_num_rows($result);
                  ... 

                  PHP Code:
                  $alle_bilder mysql_query("SELECT Id, bildername, text, dateipfad, cmyk_pfad FROM bilder WHERE dateipfad LIKE '".$strSelFolder."/%' ORDER BY 'Id' DESC LIMIT ".$limit1.", ".$eachpage.""
                  PHP Code:
                  while($line mysql_fetch_object($alle_bilder)){
                   if(
                  $line->dateipfad == $strSelFolder."/".$line->bildername && $spalte-> lesen == ){... // mit der if Abfrage werden dann echt nur die Bilder , die in Ebene 2 stehen angezeigt. 
                  Nachdem ich das so geschrieben habe, glaub ich dass das Problem daran liegt, dass ich die falschen Sachen für meine Seitenanzahl.
                  Hat jemand ne Idee wie ich echt nur die Bilder aus Ebene2 zählen kann und nicht die aus Ebene3?


                  dann scheinst du ein problem mit der annahme des session-cookies zu haben ...
                  Kann ich da was machen, wenn es nicht mein Rechner ist?

                  Comment


                  • #10
                    naja dein Code ... schweigen wir drüber.

                    wo kommt den eigentlich $strSelFolder her? von einem Link? gibt es da nix eindeutiges?
                    mfg
                    marc75

                    <Platz für anderes>

                    Comment


                    • #11
                      Na ja, jeder hat mal angefangen, oder? Bis auf die dummen Lücken hat es bis jetzt ja auch gefunzt...

                      $strSelFolder kommt von nem Link und ist eben der Ordner in dem man sich gerade befindet. z.B. Ebene1/Ebene2

                      Comment


                      • #12
                        Es wäre einfacher wenn du dein Menü umstruktuierst.


                        Ebene1 id=1
                        Ebene2 id=2
                        usw.

                        in der Bilder Tab dann

                        id Bilder Ebene
                        $start = 0;
                        $weiter = 5;

                        SELECT * FROM
                        bilder
                        WHERE
                        Ebene = ".$_GET[ebene1]."
                        AND
                        Ebene = ".$_GET['ebene2']."
                        ORDER by id
                        LIMIT "$start", "$weiter"

                        in Ebene wird nur die id dazu gespeichert und per GET wird auch nur die id übergeben.


                        Und dann benutze hier mal die Suchfunktion und suche nach Blättern Blätterfunktion oder Seitenweise anzeigen
                        mfg
                        marc75

                        <Platz für anderes>

                        Comment


                        • #13
                          Danke schon mal für die Mühe, aber ich glaub das ist es nicht.
                          Blättern an sich klappt ja.

                          Was hat es denn für einen Vorteil, wenn ich Ebene1 statt mit ebene1 über id=1 anspreche? Meine Ebenen sollen Ordner sein, die sich in verschiedenen Ebenen befinden, Ebene2 ist also ein Unterordner von Ebene1.

                          Ich probier ja gerade auch noch rum wie ich es lösen könnte und ich glaube das Hauptproblem ist, meine Bilder Auswahl.
                          Wenn ich jetzt mit Ebene1/Ebene2/% Bilder aus dem Ordner Ebene2 auswählen will, wähle ich ja zuerst auch mal Bilder vom Ordner in Ebene3 mit aus, weil ich ja mit % auswähle. d. h.
                          Ebene1/Ebene2/bild und
                          Ebene1/Ebene2/Ebene3/anderes bild
                          passen beide auf meine Auswahl von Ebene1/Ebene2/%

                          Damit ich jetzt die Bilder von Ebene3 ausschließen kann, habe ich eben eine kuddel muddel Lösung gemacht.
                          Wenn ich da was vernünftiges hin bekommen könnte, wär mein Problem glaub gelöst.

                          Comment


                          • #14
                            wozu eigentlich die ganzen Unterordner und so?

                            möchtest du den User folgendes anbieten:

                            Hauptebene
                            - Unterebene
                            - - Subebene

                            Bilder Urlaub
                            - vom Montag
                            - - Vormittag
                            - - Nachmittag

                            ???
                            mfg
                            marc75

                            <Platz für anderes>

                            Comment


                            • #15
                              stimmt.

                              Wobei eher
                              - Bilder Deutschland
                              - - Berlin
                              - - - Sommer
                              - - - Winter
                              - - München
                              - - - Herbst
                              - Bilder Österreich
                              ....

                              Vom Prinzip das gleiche wie Vormittag/Nachmittag nur glaub ein bißle verständlicher, warum echt die Unterordner da sein sollen

                              Comment

                              Working...
                              X