Ankündigung

Einklappen
Keine Ankündigung bisher.

Brauche hilfe bei ausgabe und sortierung von gruppen

Einklappen

Neue Werbung 2019

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

  • Brauche hilfe bei ausgabe und sortierung von gruppen

    Moin Leutz
    Da mein Problem kein Anfänger zeuch ist sondern shcon etwas höher bräuchte cih etwas hilfe .
    Es geht um das folgende :

    Also ich habe nen Admin Panel wo man Name,Gruppe,Datum,Klasse angeben kann.
    Soweit sogut es klappt alles bei der eingabe doch das problem ist die ausgabe :/
    hier sieht man die tabelle
    Da es eine Tabelle mit 6 spalten ist und ca 4 verschiedenen Gruppen musste ich bei allen 4 gruppen so zugreifen
    PHP-Code:
    $gruppe1=mysql_query("SELECT * FROM $dbtabelle WHERE gruppe=1 AND  datum=$rowalles[datum] 
    ORDER BY datum DESC "
    );// ich kopiere einfach code und setze anstelle 1 ne 2/3/4 fertig :/ 
    (kommt mir aber bissle umständlcih für jede gruppe vor ;/ musste das ganze 4 male machen gibt bestimmt ne bessere lösung


    2.Ich will das in einer Tabelle ausgeben also <table></table>
    sollte.

    doch leider gelingt es mit den 4 mysql_query's net das wirklcih richtig auszugeben der Zeigt das dann wie folgt an hier

    es sollte aber so zeigen hier

    der code sehe dann wie folgt aus :/ sry für schlechten code aber mir fiel nix besseres ein und suche ja daher ne bessere lösung

    PHP-Code:
     <?php for($i=0;$i<=4;$i++){ ?>                  
      <tr><?php            
    while($row1=mysql_fetch_array($gruppe1)) {
        if (
    strlen($row1)>0) {
          echo 
    "<td class='grau' width='150'>" $row1['name'] . " (" $row1['klasse'] . ")</td>";
        }
        else {
          echo 
    "<td class='grau' width='150'>xxxxxx</td>";
        }
      }

          
                         
    while(
    $row2=mysql_fetch_array($gruppe2)) {
        if (
    strlen($row2)>0) {
          echo 
    "<td class='grau' width='150'>" $row2['name'] . " (" $row2['klasse'] . ")</td>";
        }
        else {
          echo 
    "<td class='grau' width='150'>xxxxx</td>";
        }
      }

                         
    while(
    $row3=mysql_fetch_array($gruppe3)) {
        if (
    strlen($row3)>0) {
          echo 
    "<td class='grau' width='150'>" $row3['name'] . " (" $row3['klasse'] . ")</td>";
        }
        else {
          echo 
    "<td class='grau' width='150'>xxxxx</td>";
        }
      }

                         
      while(
    $row4=mysql_fetch_array($gruppe4)) {
        if (
    strlen($row4)>0) {
          echo 
    "<td class='grau' width='150'>" $row4['name'] . " (" $row4['klasse'] . ")</td></tr>\n";
        }
        else {
          echo 
    "<td class='grau' width='150'>xxxx</td>";
        }
      
      echo
    "</tr>";
       }} 
    ?>

                   
                               
                </table>
    Hoffe mal mir kann einer tipp geben oder bissle helfen >.< brauche das langsam dringend ...

  • #2
    Versuch das mal:


    Code:
    SELECT
        id,
        name,
        klasse,
        gruppe,
        datum
    FROM 
        $dbtabelle
    WHERE 
        datum=$rowalles[datum]  AND
        gruppe IN (1,2,3,4)
    ORDER BY 
        gruppe, datum DESC

    Kommentar


    • #3
      und wie gebe ich es dann aus?! habe ncoh nie den befehl IN() benutzt oO

      Kommentar


      • #4
        Dann könnte es hilfreich sein sich mal dazu schlau zu machen. Du gibst es ganz normal aus. Das IN beeinflusst nur welche, Ergebnisse auftauchen, nicht wie sie auftauchen. In dem Sinne sagst du
        Code:
        WHERE gruppe=1
        Such mir alles, bei dem in gruppe eine 1 steht. Das machst du für alle 4 Gruppen. Wir sagen nun
        Code:
        WHERE gruppe IN (1,2,3,4)
        Such mir alles, bei dem gruppe in (1,2,3,4) auftaucht, also einer der vier Werte annimmt. Also: Wo steht bei gruppe eine 1, eine 2, eine 3 oder eine 4?

        Kommentar


        • #5
          joa habe ja eben beim mysql.com nachgesucht aber der sucht dann immer nur nach In und nicht IN() naja egal dankö werde es mal gleich weiter ausbauen

          Kommentar


          • #6
            Vorsicht: Nicht verwechseln!
            IN ist keine Funktion im eigentlichen Sinne und () demnach auch nicht die Funktionsparameter. Es ist ein Operator für einen Ausdruck, der wahr oder falsch zurück gibt und die Klammern sind eine Liste.
            expr IN (value,...)
            Returns 1 if expr is equal to any of the values in the IN list, else returns 0.
            Vergleichs-Operatoren

            Kommentar


            • #7
              ich komme irgendwie net druf wie das abrufen kann .
              Eben versucht mit if abfragen,aber kommt aber nix dabei raus nur so wie vorhin :/
              Ich glaube ich denke bei der Aufgabe zu kompliziert :/


              PHP-Code:
              <?php 
              while($rowg=mysql_fetch_array($gruppen)){

              if(
              $rowg[gruppe]== '1'){
              echo
              "<tr><td class='grau'>" $rowg['name'] . " (" $rowg['klasse'] . ")</td>";
              }elseif (
              $rowg[gruppe]< '1'){
              echo 
              "<tr><td class='grau'></td>";}

              if(
              $rowg[gruppe]== '2'){
              echo
              "<td class='grau'>" $rowg['name'] . " (" $rowg['klasse'] . ")</td>";
              }elseif (
              $rowg[gruppe]< '1'){
              echo 
              "<td class='grau'></td>";}
              if(
              $rowg[gruppe]=='3'){
              echo
              "<td class='grau'>" $rowg['name'] . " (" $rowg['klasse'] . ")</td>";
              }elseif (
              $rowg[gruppe]< '1'){
              echo 
              "<td class='grau'></td>";}
              if(
              $rowg[gruppe]=='4'){
              echo
              "<td class='grau'>" $rowg['name'] . " (" $rowg['klasse'] . ")</td>";
              }elseif (
              $rowg[gruppe]< '1'){
              echo 
              "<td class='grau'></td></tr>";}
              }
              ?>
                             
                                         
                          </table>

              Kommentar


              • #8
                Deine Daten sind nach Spalten sortiert. Zur Erstellung der HTML Tabelle müssen sie aber nach Zeilen sortiert sein. Du musst also die SQL Rückgabe erst umordnen

                Kommentar


                • #9
                  wie meinst du das umordnen?! verstehe net ganz was meinst :/


                  Edit: hat eben bissle gegooglet aber da kam nur nen oracle funktion heraus ?!
                  davon verstehe cih natürlich nix von oracle

                  http://www.wer-weiss-was.de/theme165...le1167958.html

                  Kommentar


                  • #10
                    Da mein Problem kein Anfänger zeuch ist sondern shcon etwas höher bräuchte cih etwas hilfe .
                    Wenn dein Satz stimmt solltest du scghon die Grundlagen der Array Verarebitung und HTML Erzeugung mit PHP verstehen.

                    Du kannst eine HTML Tabelle nur Zeilenweise ausgeben. SQL liefert dir aber die Daten Spaltenweise (Da nach Gruppen sortiert) du musst also diese Daten in ein eigenes ARRAY übernehmen und dann entsprechend ausgeben

                    Kommentar


                    • #11
                      ah ok das hilft mir weiter danke werde das mal jetzt versuchen mit array zu löse
                      Wenn klappt oder net editiere cih es aml rein

                      hm.. ne idee mit foreach ^^

                      Kommentar


                      • #12
                        Guck mal was dabei rauskommt und poste es.

                        PHP-Code:
                        <table width="100%" cellspacing="0" cellpadding="3">
                          <?php
                          $alteGruppe 
                        0;
                          while(
                        $rowg=mysql_fetch_array($gruppen)){ 
                            if(
                        $alteGruppe != $rowg["gruppe"]) {
                              
                        ?>
                              <tr>
                                <td>Gruppe: <?php echo $rowg["gruppe"];?></td>
                              </tr>      
                              <?
                              $alteGruppe = $rowg["gruppe"];
                            }
                            ?>
                            <tr>
                              <td class="grau"><?php echo $rowg["name"];?>(<?php echo $rowg["klasse"];?>)</td>
                            </tr>
                            <?
                          }
                            ?>
                        </table>

                        Kommentar


                        • #13
                          ncie das klappt oO aber der gibt es untereinander aus net nebeneinandern :/ mal schauen bastle mal daran bissle ^^"

                          so war emine vorstellung
                          hier

                          Kommentar


                          • #14
                            dabb schau mal hier vorbei:
                            http://de.selfhtml.org/html/tabellen/aufbau.htm

                            Kommentar


                            • #15
                              xD ich weiss shcon wie tabellen aufgebaut sind ^^
                              Kann shcon html

                              Kommentar

                              Lädt...
                              X