Ankündigung

Einklappen
Keine Ankündigung bisher.

Tabelle auswerten

Einklappen

Neue Werbung 2019

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

  • Düsentrieb
    hat ein Thema erstellt Tabelle auswerten.

    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?

  • Düsentrieb
    antwortet
    o.k.
    Danke!

    Einen Kommentar schreiben:


  • dennis81
    antwortet
    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.

    Einen Kommentar schreiben:


  • Arne Drews
    antwortet
    Manual -> foreach()
    Grundlagen Arrays

    Einen Kommentar schreiben:


  • Düsentrieb
    antwortet
    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

    Einen Kommentar schreiben:


  • dennis81
    antwortet
    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?
    ??

    Einen Kommentar schreiben:


  • Düsentrieb
    antwortet
    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?

    Einen Kommentar schreiben:


  • Tholi
    antwortet
    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.

    Einen Kommentar schreiben:

Lädt...
X