Einzelnen Beitrag anzeigen
  #3  
Alt 13.04.2017, 01:45:49
flyer99 flyer99 ist offline
Anfänger
 
Registriert seit: Apr 2017
Alter: 44
Beiträge: 3
AW: MySQL-Abfrage flexibel gestalten

Hallo chorn,

Problem konnte ich heute Mittag lösen .... nichts desto trotz (vielleicht hilft es anderen) hier ein paar Infos:

Zitat:
Da steht was von "Reihe"
Das sind die Checkboxen welche übergeben werden und dann in $result1 geschrieben werden (MySQL-Spalten welche ausgelesen werden sollen).
PHP-Code:
$i=0
if(
count($_POST["reihe"])) 
   { 
   while(
$i<count($_POST["reihe"])) 
      { 
      
$result1=$result1 ', ' $_POST["reihe"][$i]; 
      
$i++; 
      } 
   } 
Wenn der Haken "Alles" ausgewählt wurde werden alle Spaltennamen übergeben
PHP-Code:
if (isset($_POST["alles"]) == "alles"): 
   { 
   
$result1 "datumzeit, aussentemp, speicherobentemp, speicherobentempsoll, kesseltemp, kesseltempsoll, brennerstatus, kollektortemp, speicheruntentemp, solarpumpestatus, nachladeunterdrueckungstatus, heizkreispumpestatus, speicherladepumpestatus, ansteuerungheizunt"
   } 
endif; 

Fürs Verständnis mal ein paar Bilder:

http://up.picr.de/28882564te.jpg

http://up.picr.de/28882565ci.jpg

Oder:

http://up.picr.de/28882598ff.jpg

http://up.picr.de/28882600ig.jpg


Mein Problem lag hier bzgl. der Flexibilität:
PHP-Code:
while($row mysqli_fetch_assoc($result)) // Wird für jede Reihe wiederholt (Anzahl Datensätze) 
    
{  
    
$data[] = array(''strtotime($row["datumzeit"]), $row["aussentemp"], $row["speicherobentemp"], $row["speicherobentempsoll"], $row["kesseltemp"], $row["kesseltempsoll"], $row["brennerstatus"], $row["kollektortemp"], $row["speicheruntentemp"], $row["solarpumpestatus"], $row["nachladeunterdrueckungstatus"], $row["heizkreispumpestatus"], $row["speicherladepumpestatus"], $row["ansteuerungheizunt"]);  
    } 

Dies habe ich nun wie folgt gelöst:
PHP-Code:
$i2=0;    
while(
$row mysqli_fetch_assoc($result)) 
    { 
    
$data[] = array(''strtotime($row["datumzeit"]));
    if (
in_array("aussentemp"$sammlung)):
       {
       
$data[$i2][] = $row["aussentemp"];
       }
    endif;
    if (
in_array("speicherobentemp"$sammlung)):
       {
       
$data[$i2][] = $row["speicherobentemp"];
       }
    endif;
    if (
in_array("speicherobentempsoll"$sammlung)):
       {
       
$data[$i2][] = $row["speicherobentempsoll"];
       }
    endif;
    if (
in_array("kesseltemp"$sammlung)):
       {
       
$data[$i2][] = $row["kesseltemp"];
       }
    endif;
    if (
in_array("kesseltempsoll"$sammlung)):
       {
       
$data[$i2][] = $row["kesseltempsoll"];
       }
    endif;
    if (
in_array("brennerstatus"$sammlung)):
       {
       
$data[$i2][] = $row["brennerstatus"];
       }
    endif;
    
    if (
in_array("kollektortemp"$sammlung)):
       {
       
$data[$i2][] = $row["kollektortemp"];
       }
    endif;
    if (
in_array("speicheruntentemp"$sammlung)):
       {
       
$data[$i2][] = $row["speicheruntentemp"];
       }
    endif;
    if (
in_array("solarpumpestatus"$sammlung)):
       {
       
$data[$i2][] = $row["solarpumpestatus"];
       }
    endif;
    if (
in_array("nachladeunterdrueckungstatus"$sammlung)):
       {
       
$data[$i2][] = $row["nachladeunterdrueckungstatus"];
       }
    endif;
    if (
in_array("heizkreispumpestatus"$sammlung)):
       {
       
$data[$i2][] = $row["heizkreispumpestatus"];
       }
    endif;
    if (
in_array("speicherladepumpestatus"$sammlung)):
       {
       
$data[$i2][] = $row["speicherladepumpestatus"];
       }
    endif;
    if (
in_array("ansteuerungheizunt"$sammlung)):
       {
       
$data[$i2][] = $row["ansteuerungheizunt"];
       }
    endif;
    if (isset(
$_POST["alles"]) == "alles"):
          {
          
$data[$i2][] = $row["aussentemp"];
       
$data[$i2][] = $row["speicherobentemp"];
       
$data[$i2][] = $row["speicherobentempsoll"];
       
$data[$i2][] = $row["kesseltemp"];
       
$data[$i2][] = $row["kesseltempsoll"];
       
$data[$i2][] = $row["brennerstatus"];
       
$data[$i2][] = $row["kollektortemp"];
       
$data[$i2][] = $row["speicheruntentemp"];
       
$data[$i2][] = $row["solarpumpestatus"];
       
$data[$i2][] = $row["nachladeunterdrueckungstatus"];
       
$data[$i2][] = $row["heizkreispumpestatus"];
       
$data[$i2][] = $row["speicherladepumpestatus"];
       
$data[$i2][] = $row["ansteuerungheizunt"]; 
          }
    endif;
    
$i2++;
    } 

Vielleicht nicht "schön", aber funktionell und ich habe es hinbekommen ...
Wenn jemand ne kürzere Version hat lasse ich mich gerne "belehren" ... :-)
Mit Zitat antworten