Reihenfolge von Einträgen steuern

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

  • 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
    Zuletzt geändert von AmicaNoctis; 19.10.2009, 14:51. Grund: 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]

    Kommentar


    • #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

      Kommentar


      • #4
        OffTopic:
        Zitat von unset Beitrag anzeigen
        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]

        Kommentar


        • #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

          Kommentar


          • #6
            Zitat von combie Beitrag anzeigen
            Nicht unbedingt "benachbart" sondern einfach nur vertauschen.
            Stimmt, sorry Hab's in dem Beitrag geändert.
            Zuletzt geändert von AmicaNoctis; 19.10.2009, 14: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]

            Kommentar


            • #7
              OffTopic:
              Zitat von AmicaNoctis Beitrag anzeigen
              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.

              Kommentar


              • #8
                OffTopic:
                Zitat von wahsaga Beitrag anzeigen
                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]

                Kommentar


                • #9
                  Zitat von AmicaNoctis Beitrag anzeigen
                  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

                  Kommentar


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

                    Zitat von AmicaNoctis Beitrag anzeigen
                    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');
                    */ 
                    Zuletzt geändert von someRookie; 21.10.2009, 15:48.

                    Kommentar


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

                      Kommentar


                      • #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!

                        Kommentar

                        Lädt...
                        X