Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabelle auswerten

Einklappen

Neue Werbung 2019

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

  • Tabelle auswerten

    Hallo,
    ich habe eine grundsätzliche Frage.
    In einer sehr großen Tabelle lasse ich mir den aktuellsten Datensatz über eine Gruppering anzeigen:

    $sql1 = "
    SELECT
    *
    FROM (SELECT * FROM status ORDER BY `Datum` DESC, `Zeit` DESC) as `test`
    GROUP BY `Modul`

    Nun erhalte ich ca. 20 Datensätze in der Art:

    2010-07-01 - 23:04:41 - 100 - 1 - 28 - 0 - 28 - 106
    2010-07-01 - 23:04:41 - 123 - 1 - 28 - 0 - 30 - 105
    2010-07-01 - 23:04:41 - 100 - 1 - 28 - 0 - 0 - 299

    (der letzte Wert ist der Gruppierungswert)
    Soweit läuft das schon mal und jetzt meine Frage:

    Ich möchte nun die Datensätze ab dem Datumswert einzel auswerten.
    Dabei sollen je Tabellenwert jeweils drei Kriterien geprüft
    <0, 0 ,>0 und entsprechnd weiterverarbeitet werden.

    Ich habe einfach keine Idee wie ich das hinbekommen kann?

  • #2
    Wenn du nach dem letzten zusammenfasst ist es klar, dass du nicht unbedingt alle Daten bekommst die in der Gruppierung vorhanden sind.

    Wenn du allerdings, es so meinst, dass du die einzelnen Zellen auswerten willst, empfielt es sich nach dem Stichwort "php + mysql" zu googlen.
    Look at This!
    Digital-Duty.DE
    Für Syntax-Fehler übernehme ich keine Haftung!

    Kommentar


    • #3
      Hi,
      über mysql und php habe ich die Daten ja schon aus der Datenbank geholt.

      PHP-Code:
      <?php




      define 
      'MYSQL_HOST''localhost' );
      define 'MYSQL_BENUTZER''root' );
      define 'MYSQL_KENNWORT''' );
      define 'MYSQL_DATENBANK''trbus' );

      $db_link = @mysql_connect (MYSQL_HOSTMYSQL_BENUTZERMYSQL_KENNWORT);
      if ( ! 
      $db_link )
      {
        
      }


      $db_sel mysql_select_dbMYSQL_DATENBANK )
          or die(
      "Auswahl der Datenbank fehlgeschlagen");


      // SQL-Befehl für den Zugriff
      $sql "
          SELECT 
               *
          FROM status
               ORDER BY datum, zeit
          
      "
      ;

      $db_erg mysql_query$sql );

      if ( ! 
      $db_erg )
      {
          die(
      'Ungültige Abfrage: ' mysql_error());
      }

      // Anzeige der Anzahl der Einträge
      $anzahl_eintraege mysql_num_rows($db_erg);
      echo 
      "<p><h6>Anzahl der Datensätze zur Statusauraufzeichnung: $anzahl_eintraege </p>";

      // SQL-Befehl für den Zugriff
      $sql1 "
          SELECT 
               *
          FROM (SELECT * FROM  status ORDER BY `Datum` DESC, `Zeit` DESC) as `test`
          GROUP BY `Bit8`

      "
      ;
      $db_erg1 mysql_query$sql1 );

      while (
      $daten mysql_fetch_array$db_erg1MYSQL_ASSOC))

      {
          
      // Aushabe der Daten
          
          
      echo " ";  
          echo 
      $daten['Datum'];  
          echo 
      " "
          
          echo 
      " - ";    
          echo 
      $daten['Zeit'];    
          echo 
      " "

          
          echo 
      "   "
          echo 
      "   "
          echo 
      "   "
          echo 
      $daten['Bit1']; 
          echo 
      " ";

              
          echo 
      "- "
          echo 
      $daten['Bit2']; 
          echo 
      " ";
        
              
          echo 
      "- ";
          echo 
      $daten['Bit3'];
          echo 
      " ";
         
              
          echo 
      "- ";
          echo 
      $daten['Bit4'];
          echo 
      " ";   
        
            
          echo 
      "- ";
          echo 
      $daten['Bit5'];
          echo 
      " ";  
              
          echo 
      "- ";
          echo 
      $daten['Bit6'];
          echo 
      " ";
        
            
          echo 
      "- ";
          echo 
      $daten['Bit7'];
          echo 
      " ";  
              
          echo 
      "- ";
          echo 
      $daten['Bit8'];
          echo 
      " ";
          echo 
      "<br />";
          
      }
      //mysql_free_result( $db_erg );

        
      mysql_close();


      ?>
      Ich weis nur nicht wie ich jetzt die Werte der einzelnen Datensätze auswertbar machen soll?

      Kommentar


      • #4
        Was soll denn dieser SQL Befehl?
        Code:
        SELECT 
                 *
            FROM (SELECT * FROM  status ORDER BY `Datum` DESC, `Zeit` DESC) as `test`
            GROUP BY `Bit8
        Du machst einen SELECT auf alles aus einer Relation, die du vorher durch ein Select auf alles aus der Relation status gewonnen hast!? Das geht auch ohne den Subselect.

        Aber was meinst du mit:
        Werte der einzelnen Datensätze auswertbar machen soll?
        ??
        [I]Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)[/I]
        [I]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/I]

        Kommentar


        • #5
          Ja, du hast recht. Das kommt vom vielen Ausprobieren.

          Mit "auswertbar machen" meine ich das angezeigte Ergebnis weiter verarbeiten.

          2010-07-01 - 23:04:41 - 100 - 1 - 28 - 0 - 28 - 106

          Ich möchte für jeden Datensatz die Werte der Spalten prüfen und z.B. einen Klartext anzeigen.
          In Basic würde das so aussehen:


          Code:
             
          if spalte8 = 106 then
             if spalte7 > 0 then.....
             if spalte7 < 0 then.....
             if spalte7 = 0 then.....
             if spalte6 > 0 then.....
             if spalte6 < 0 then.....
             if spalte6 = 0 then.....
             .....
          
          if spalte8 = 107 then
             if spalte7 > 0 then.....
             if spalte7 < 0 then.....
             if spalte7 = 0 then.....
             if spalte6 > 0 then.....
             if spalte6 < 0 then.....
             if spalte6 = 0 then.....
             
          ......
          Das geht doch sicher auch einfacher.

          Die Werte stecken bei mir in dem Array. Aber ich weis nicht wie ich damit umgehen soll

          Kommentar


          • #6
            Manual -> foreach()
            Grundlagen Arrays
            Competence-Center -> Enjoy the Informatrix
            PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

            Kommentar


            • #7
              Wenn du diverse Spalten, je nach Information, mit unterschiedlichen Spalten vergleichen willst, bleibt dir mMn nichts anderes übrig als es über die if Struktur zu machen.
              [I]Es ist schon alles gesagt! Nur noch nicht von allen! (Karl Valentin)[/I]
              [I]Wenn du eine weise Antwort verlangst, musst du vernünftig fragen. (Johann Wolfgang von Goethe)[/I]

              Kommentar


              • #8
                o.k.
                Danke!

                Kommentar

                Lädt...
                X