Spaltenreihenfolge ändern

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

  • Spaltenreihenfolge ändern

    Hallo,

    mit diesem Skript werden verschiedene Termine samt dem zugehörigen Status aus der Datenbank geholt und in einer Tabelle angezeigt. Die Spalten sollen Datum, Anwesend und Aktion v.l.n.r. benannt sein. Das passt auch soweit. Problem ist, das die Daten aus der DB nicht in der richtigen Reihenfolge angezeigt werden.
    Wie muss ich das form erstellen, damit die Werte in der richtigen Spalte stehen?


    PHP-Code:
    echo "<table id='status'>";

        echo 
    "<tr>";
            echo 
    "<th>Datum</th>";
            echo 
    "<th>Anwesend</th>";
            echo 
    "<th>Aktion</th>";
        echo 
    "</tr>";

    while(
    $row mysql_fetch_assoc($result))
    {
        echo 
    "<tr>";
            
    $ersjahr substr($row['datum'], 04);
            
    $ersmonat substr($row['datum'], 52);
            
    $erstag substr($row['datum'], -2);
            
    $datum $erstag "." $ersmonat "." $ersjahr;  
            
                echo 
    "<td class='aendern'><form action='index.php?ziel=aendern' method='post'>
                <input name='datum' type='hidden' value='"
    .$datum."'></input>
                <input name='status' type='hidden' value='"
    .$row['status']."'></input>
                <input type='submit' name='bearbeiten' value='Bearbeiten'></input>
                </form></td>"
    ;
                echo 
    "<td>{$datum}</td>";
            
            if(
    $row['status'] == "Ja")
            {
                   echo 
    "<td class='green'>{$row['status']}</td>";
            }    
               else
            {
                echo 
    "<td class='red'>{$row['status']}</td>";
            }    
        echo 
    "</tr>";
        echo 
    "<tr class='leerzeile'></tr>";
    }
    echo 
    "</table>"


    Wenn ich das Form so erstelle

    PHP-Code:
    echo "<td><form action='index.php?ziel=aendern' method='post'>
                <input name='datum' type='hidden' value='"
    .$datum."'></input>
                <input name='status' type='hidden' value='"
    .$row['status']."'></input></td>";
                
                echo 
    "<td>{$datum}</td>";
            
            if(
    $row['status'] == "Ja")
            {
                   echo 
    "<td class='green'>{$row['status']}</td>";
            }    
               else
            {
                echo 
    "<td class='red'>{$row['status']}</td>";
            }    
            echo 
    "<td class='aendern'><input type='submit' name='bearbeiten' value='Bearbeiten'></input></td>";
        echo 
    "</form>";


    kriege ich vom Validator im Firefox 9 Fehler und 18 Warnungen angzeigt. Die Fehler lauten unexpected </form> und die Warnungen missing <td> und missing </form>. Das ganze kommt dann für jeder ausgegebene Zeile einmal hoch.

    Kann mir bitte jemand weiterhelfen ?!


    Vielen Dank !
    l
    Gruß

    Michael

  • #2
    warum sortierst du nicht schon bei bei sql-abfrage?
    PHP-Code:
    SELECT datumanwesendaktion FROM ... 
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Das mache ich doch schon.
      PHP-Code:
      $query "SELECT datum, status FROM db WHERE ....... 
      Ausserdem wird im Form in der richtigen Reihenfolge ausgegeben.
      Das Ganze liegt steht im zusammenhang mit den beiden hidden-Feldern, die mit übergeben werden müssen.
      Der submit-Button kommt nicht aus der db, der wird erst im form dazugefügt.

      Problem ist,wie löse ich das?
      Gruß

      Michael

      Kommentar


      • #4
        Wenn ich das Form so erstelle
        Hast ja auch kein schliessendes tr vor dem Endtag form und das Form schliesst du so wie ich das sehe innerhalb der Schleife und nicht ausserhalb. Und wenn du dann bei jedem Schleifendurchlauf nicht wieder ein form öffnest, dann ist das Endtag des Forms ebenfalls "unexpected"
        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


        • #5
          mit dem schliessenden tr im zweiten Codeschnippsel geb ich Dir recht, der ging mir durch die Lappen. Das form wieder aber in der Schleife immer geöffnet und beendet.
          Gruß

          Michael

          Kommentar


          • #6
            Das form wieder aber in der Schleife immer geöffnet und beendet.
            Yep gerade gesehen. Ist mir beim ersten Post durch die Lappen gegangen. Du machst also pro Datensatz aus der DB EIN Formular? imho macht das mehr Sinn nur eines für ALLE Datensätze zu erstellen.
            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


            • #7
              Ich muss aber für jeden Datensatz die beiden Werte für Datum und Stastus abgreifen können. Und das geht nur, wenn ich pro Datensatz das form mache.

              Zumindest habe ich bis jetzt keinen besseren Weg gefunden, die Werte eines ausgewählten Datensatzes zu übergeben.
              Gruß

              Michael

              Kommentar


              • #8
                Zumindest habe ich bis jetzt keinen besseren Weg gefunden, die Werte eines ausgewählten Datensatzes zu übergeben.
                Trage die Werte bei jedem DS als "normale" Inputfelder ein und setzte deren Attribut auf disabled (so kann es nicht so einfach verändert werden), dann gibst du jeder "Zeile" des Forms noch einen Radio Button an, der den zu bearbeitenden DS festlegt. Beim Erhalt des Forms auf dem Server prüfst du welcher Radio Button gesetzt ist und weisst dann auch welcher DS bearbeitet werden sollte.
                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


                • #9
                  Hmm, wäre auch ne Möglichkeit. Das mit den Radiobuttons ist mir nur noch nicht klar.
                  Dann müsste der Radiobutton jeweils als value die id des Datensatzes bekommen, damit ich weiß, welcher Datensatz gemeint ist. Der User setzt dann den Radio des Satzes den er haben will und schickt dann das form ab, richtig verstanden?
                  Gruß

                  Michael

                  Kommentar

                  Lädt...
                  X