Zeitspanne von DB in PHP abfragen

Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

123user123

Mitglied
Hallo,

ich habe eine Tabelle die wie folgt aussieht:
Code:
Datum           |      Grund      |    Ausgaben

2019-06-19          Ausgabe 1           250

2019-06-20          Ausgabe 2           120

2019-06-21          Ausgabe 3           230

Nun möchte ich in PHP mit folgender Abfrage nur einen gewissen Zeitraum ausgeben:
PHP:
    $sql = "SELECT * FROM ausgaben WHERE Datum BETWEEN '$DatumVon' AND '$DatumBis' ";

    $db_erg = mysqli_query( $db_link, $sql );                                     //db_link = Datenbank zugangsdaten
    $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC);

    foreach($zeile as $wert)
        {
            print_r($wert);
        }

was ich von dieser abfrage bekomme ist nur ein Array vom ersten Tag, also Datum, Grund und Ausgaben.

Ich würde aber gerne alles ausgeben können was zwischen den zwei Variablen $DatumVon und $DatumBis übereinstimmt.

Kann mir da jemand helfen?
 
Bei mir klappt das so

PHP:
<?php
$DB_HOST = "";
$DB_USER = "";
$DB_PASS = "";
$DB_NAME = "";

    $db_link = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
    if(mysqli_connect_errno($db_link)) {
          echo "ERROR bei Connect: ".mysqli_error($db_link);
    }else{
          $DatumVon=mysqli_real_escape_string($db_link,10);
          $DatumBis=mysqli_real_escape_string($db_link,30);

          $sql = "SELECT * FROM  ausgaben  WHERE Datum  BETWEEN '$DatumVon' AND '$DatumBis'";
          if($db_erg = mysqli_query($db_link,$sql)){
              if(mysqli_num_rows($db_erg)>0){

                   echo"<pre>";
                   while($row = mysqli_fetch_object($db_erg)){
                        print_r($row);
                   }
                   echo "</pre>";
             }else{
                  echo "Keine Einträge in ihren Bereich  gefunden";
             }
        }else{
             echo "ERROR bei Select abfrage: ".mysqli_error($db_link);
        }
    }
?>
 
PHP:
 $zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC);
Damit liest du nur die Erste Zeile aus. Du musst ein Loop über mysqli_fetch_array machen
PHP:
while($zeile = mysqli_fetch_array( $db_erg, MYSQLI_ASSOC)){
    foreach($zeile as $wert){
        print_r($wert);
    }
}
 
Vielen Dank für die antworten, habe meine Lösung zu diesem Fall gefunden.

Nun würde ich gerne fragen ob es auch möglich ist den wert von "Ausgaben" zu addieren und diesen ausgeben?
 
SQL:
SELECT SUM(ausgaben)
FROM ausgaben 
WHERE Datum BETWEEN '$DatumVon' AND '$DatumBis'
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Zurück