Ankündigung

Einklappen
Keine Ankündigung bisher.

Datensatz mit Button in Tabelle um 1. Position verschieben

Einklappen

Neue Werbung 2019

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

  • Datensatz mit Button in Tabelle um 1. Position verschieben

    Hallo!

    Ich suche eine Möglichkeit in einer Tabelle den markierten Datensatz (wo der Cursor drin ist) bei Drücken einer Schaltfläche entweder um 1. Postion nach oben oder unten zu verschieben!

    Im Prinzip die Reihenfolge zu ändern... zb von ID 1,2,3,4,...... zu ID 1,2,4,3

    Tabelle wird aus einer phpMyadmin Datenbank eingelesen...

    sort.png

    phpmyadmin.png

    Herzlichen Dank für die Bemühungen...

  • #2
    wir dir aufgefallen ist, siehrt niemand deine bilder

    mit cursor meinst du die maus ?
    dies ist entweder javascript oder css oder beides.
    woran genau scheitert es?
    hast du schon was probiertt ?
    willst du das zeiegen ?

    Kommentar


    • #3
      Zitat von bullenhai1968 Beitrag anzeigen
      Ich suche eine Möglichkeit in einer Tabelle den markierten Datensatz (wo der Cursor drin ist) bei Drücken einer Schaltfläche entweder um 1. Postion nach oben oder unten zu verschieben!

      Im Prinzip die Reihenfolge zu ändern... zb von ID 1,2,3,4,...... zu ID 1,2,4,3
      Da brauchst du ein extra Feld dafür nach dem sortiert wird, um eine Position zu verschieben, müssen die Werte in der aktuellen und der Nachbarzeile vertauscht werden. Wie deine Datenbank oder der bisherige Code(?) aussehen lässt sich aber nicht sagen, wie tomBuilder schon schrieb: die Funktion zum Anzeigen der Bilder ist immernoch kaputt (leider nicht auch die zum Hochladen …) - Seitenhieb hoefti

      Tabelle wird aus einer phpMyadmin Datenbank eingelesen...
      eine "phpMyadmin Datenbank" gibt es nicht. phpMyadmin ist ein verbreitetes Tool um MySQL/MariaDB-Datenbanken zu bearbeiten, aber selbst keine Datenbank.

      Kommentar


      • #4
        Ich würde das über Datatables realisieren. https://www.datatables.net/. Ist aber Javascript bzw. Jquery
        Github_Cyrix, Laravelgemeinschaft bei php.de,Laravel Chat

        Kommentar


        • #5
          Also, ich sehe seine beiden Bilder.
          Kaputte Shift-Taste lass ich nicht gelten, gibt noch ne zweite!

          Kommentar


          • #6
            Danke für eure Antworten.

            Ich habe noch nicht wirklich eine Idee bzw. einen Ansatz. Ich benötige php, etc. nicht sehr oft. Deswegen bin ich auch nicht wirklich gut damit. Für meine Beispiele suche ich immer bereits fertige Beispiele, welche ich dann für meine Zwecke "umgestalte".



            Kommentar


            • #7
              Du wirst für so etwas spezifisches kaum fertige Beispiele finden.

              Kommentar


              • #8
                Wenn du die Tabelle anders sortieren willst, benötigt deine Datenbanktabelle eine neue Spalte pos.

                In der HTML-Anzeige dann einen Pfeil hoch und runter, bei dem du dann das DOM-Element TR mit der Richtung angibst:

                <img src="pfeil_hoch.jpg" onlick="moveTR( this, -1)"><img src="pfeil_runter.jpg" onlick="moveTR( this, 1)">

                Code:
                function moveTR( img, move){
                   var tr= img;
                    while( tr.tagName != "TR"){
                      tr= tr.parentNode;
                   }
                
                  var idx= false;
                   var aTR= tr.parentNode.getElementsByTagName("TR");
                  for( var i= 0; i < aTR.length; ++i){
                    if( aTR[i] == tr){
                      if( move > 0){
                        if( (i+move+1) < aTR.length){
                          tr.parentNode.insertBefore( tr, aTR[i+move+1]);
                        }else{
                          tr.parentNode.appendChild( tr);
                        }
                      }else{
                        if( i > 0){
                          tr.parentNode.insertBefore( tr, aTR[i]);
                        }
                     }
                    }
                  }
                
                  // Reihenfolge senden
                }
                ( ungetestet eingetippt )

                Kommentar


                • #9
                  ich würds auch in etwa so machen die toosten allerdings mit HTML-Formular und PHP...

                  Du brauchst in der DB eine Positions/Reihenfolge-Spalte...

                  in deiner Tabelle dann einen (besser 2) Buttons
                  PHP-Code:
                  <form>
                      <Input name="position" value="<?= $position ?>" hidden>
                      <button type="submit" name="action" value="moveUp">Eintrag hochschieben</button>
                      <button type="submit" name="action" value="moveDown">Eintrag runterschieben</button>
                  dann bräuchtest du die Formulareingaben nur noch im PHP-Teil überprüfen und die entsprechenden Datenbank-Operationen ausführen

                  Kommentar

                  Lädt...
                  X