Reihenfolge von Einträgen steuern

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

  • Reihenfolge von Einträgen steuern

    Hallo Lieber php-resoucer..

    ich hab da mal eine frage, vielleicht für viele banal, aber ich komm nicht mal zu einem vernünftigen Ansatz und hoffe auf einen "schubs" in die richtige Richtung.

    ich hab ein script, dass mir die Menüeinträge aus mySql ausliest und kann diese bisher nur über die "order by" klausel steuern. Ich würde mir aber gern ein script schreiben, womit ich die Reihenfolge der Menüeinträge selbst bestimmen kann, so wie ich das z.B unter Joomla usw als Möglichkeit habe..
    Bisher muss ich immer die "positions-Id" aller einträge manuell ändern, wenn ich die reihenfolge abändern möchte. Könnte mir jemand verraten, wie man sowas scriptseitig erledigt?

    gruss
    Rene´

  • #2
    Hallo,

    vielleicht hilft dir dieser Thread schon weiter: Array Sortieren mal anders... [Archiv] - PHP script resource

    Combie hatte darin Statements erwähnt, die auf das Vertauschen zweier Datensätze optimiert sind (17-08-2009, 23:50):

    5, 2, 3, 1, 4
    1, 2, 3, 5, 4
    1, 2, 3, 4, 5


    Ich hatte einen Code gepostet, der darauf optimiert ist, einen Datensatz direkt an eine bestimmte Stelle zu schieben (18-08-2009, 15:29):

    5, 2, 3, 1, 4
    2, 3, 1, 4, 5
    1, 2, 3, 4, 5

    Gruß,

    Amica
    Last edited by AmicaNoctis; 19-10-2009, 13:51. Reason: Beiträge verlinkt
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Comment


    • #3
      OffTopic:
      Du kannst übrigens mit den Permalinks oben Rechts in den Beiträgen, direkt auf eben solche Verlinken.
      [FONT="Helvetica"]twitter.com/unset[/FONT]

      Shitstorm Podcast – Wöchentliches Auskotzen

      Comment


      • #4
        OffTopic:
        Originally posted by unset View Post
        Du kannst übrigens mit den Permalinks oben Rechts in den Beiträgen, direkt auf eben solche Verlinken.
        Ja, ich weiß, aber ich glaub im Archiv geht das nicht mehr.

        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Comment


        • #5
          Combie hatte darin Statements erwähnt, die auf das Vertauschen benachbarter Datensätze optimiert sind
          Nicht unbedingt "benachbart" sondern einfach nur vertauschen.
          Wir werden alle sterben

          Comment


          • #6
            Originally posted by combie View Post
            Nicht unbedingt "benachbart" sondern einfach nur vertauschen.
            Stimmt, sorry Hab's in dem Beitrag geändert.
            Last edited by AmicaNoctis; 19-10-2009, 13:47.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Comment


            • #7
              OffTopic:
              Originally posted by AmicaNoctis View Post
              Ja, ich weiß, aber ich glaub im Archiv geht das nicht mehr.
              Oben hinter "Archiv verlassen und diese Seite im Standarddesign anzeigen :" befindet sich jeweils der Link zur "normalen" Ansicht.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Comment


              • #8
                OffTopic:
                Originally posted by wahsaga View Post
                Oben hinter "Archiv verlassen und diese Seite im Standarddesign anzeigen :" befindet sich jeweils der Link zur "normalen" Ansicht.
                Danke!

                OT bitte abtrennen.

                [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
                Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
                Super, danke!
                [/COLOR]

                Comment


                • #9
                  Originally posted by AmicaNoctis View Post
                  OffTopic:

                  Ja, ich weiß, aber ich glaub im Archiv geht das nicht mehr.

                  OffTopic:
                  Die Archive sind nur aufbereitete Versionen für Suchmaschinen. Oben ist immer ein Link zum eigentlichen Thread.
                  [FONT="Helvetica"]twitter.com/unset[/FONT]

                  Shitstorm Podcast – Wöchentliches Auskotzen

                  Comment


                  • #10
                    http://www.php-resource.de/forum/newreply.php?do=postreply&t=97834

                    Originally posted by AmicaNoctis View Post
                    Hallo,

                    vielleicht hilft dir dieser Thread schon weiter: Array Sortieren mal anders... [Archiv] - PHP script resource

                    Combie hatte darin Statements erwähnt, die auf das Vertauschen zweier Datensätze optimiert sind (17-08-2009, 23:50):
                    .....
                    Gruß,

                    Amica

                    DANKESCHÖN !

                    Der Codeschnipsel von Combie war ja wirklich total klasse!
                    Nur ein paar kleinigkeiten für den ersten und letzten Eintrag berücksichtigen und schon läufts super.

                    hat vielliecht jemand lust und zeit mir zu sagen, ob und wo ich diesen code ode Datenbankteil optimieren kann ?

                    PHP Code:
                    // $x = aktuelle Position
                    // $y =  +/- eine Position

                    // Eintrag Reihenfolge verändern
                    if($update==true)
                    {
                    $sql mysql_query("UPDATE entries SET position = $x + $y - position WHERE position IN ($x$y)");
                    }

                    // Ausgabe
                    $sql mysql_query("SELECT * FROM entries ORDER BY position ASC");
                    $max mysql_num_rows($sql);
                    while(
                    $row=mysql_fetch_array($sql))
                    {
                        
                    if((
                    $row['position']-1)==0) {$go_up=1;} else { $go_up=($row['position']-1);} // Damit der erste Eintrag keine Null wird
                    if($row['position']+1>$max) {$go_down $max;} else {$go_down $row['position']+1;}

                    echo 
                    $row['name'].' '.'
                    <a href="file.php?update=true&x='
                    .$row['position'].'&y='.$go_up.'"> + </a>'.''.'
                    <a href="file.php?update=true&x='
                    .$row['position'].'&y='.$go_down.'"> - </a>';
                    echo 
                    '<br />';
                    }


                    /*
                    CREATE TABLE IF NOT EXISTS `entries` (
                      `id` int(11) NOT NULL AUTO_INCREMENT,
                      `position` int(11) NOT NULL,
                      `name` varchar(100) NOT NULL,
                      PRIMARY KEY (`id`),
                      KEY `position` (`position`)
                    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

                    --
                    -- Daten für Tabelle `entries`
                    --

                    INSERT INTO `entries` (`id`, `position`, `name`) VALUES
                    (1, 1, 'Menü1'),
                    (2, 2, 'Menü2'),
                    (3, 3, 'Menü3'),
                    (4, 4, 'Menü4'),
                    (5, 5, 'Menü5'),
                    (6, 6, 'Menü6'),
                    (7, 7, 'menü7');
                    */ 
                    Last edited by someRookie; 21-10-2009, 14:48.

                    Comment


                    • #11
                      Du machst zweimal die selbe Abfrage, um $max zu erhalten.

                      Comment


                      • #12
                        wow... der fehler muss mir hier beim editieren passiert sein!

                        in meinem scipt kommt das nämlich so nicht vor.

                        habs nun auch hier abgeändert..

                        danke schon mal für diesen Hinweis!

                        Comment

                        Working...
                        X