Sql abfrage per Datum will nicht funktionieren

starrider

Grünschnabel
Hallo zusammen
Ich bin noch neuling auf PHP :-(

Ich bin dabei ein Script zu erstellen wo ich Daten aus einen Formular in einer SQL Datenbank schreibe. Das auch schon :)
Und die Daten dann per Datum wieder herausholen möchte, aber so das Sie als excel Datei geöffnet werden soll

Ich habe ein script gefunden was dieses auch macht.Und auch wunderbar .
Nur wenn ich die Abfrage umschreibe, das es per Datum geschen soll, macht es das einfach nicht.Das Script holt immer alle Daten aus der Tabelle.

Ich hoffe mal das mir jemand helfen kann, und bitte nicht meckern :rolleyes:

Der Link zur Abfrage

Hier mal den Code der Abfrage:

Code:
<?php
//Written by Dan Zarrella. Some additional tweaks provided by JP Honeywell
//pear excel package has support for fonts and formulas etc.. more complicated
//this is good for quick table dumps (deliverables)

include ("db_connect.php");

$datum = "2005-10-05";

$abfrage = "SELECT * FROM breman WHERE date = $datum";
$result = mysql_query($abfrage);
$count = mysql_num_fields($result);

for ($i = 0; $i < $count; $i++){
    $header .= mysql_field_name($result, $i)."\t";
}

while($row = mysql_fetch_row($result)){
  $line = '';
  foreach($row as $value){
    if(!isset($value) || $value == ""){
      $value = "\t";
    }else{
# important to escape any quotes to preserve them in the data.
      $value = str_replace('"', '""', $value);
# needed to encapsulate data in quotes because some data might be multi line.
# the good news is that numbers remain numbers in Excel even though quoted.
      $value = '"' . $value . '"' . "\t";
    }
    $line .= $value;
  }
  $data .= trim($line)."\n";
}
# this line is needed because returns embedded in the data have "\r"
# and this looks like a "box character" in Excel
  $data = str_replace("\r", "", $data);


# Nice to let someone know that the search came up empty.
# Otherwise only the column name headers will be output to Excel.
if ($data == "") {
  $data = "\nno matching records found\n";
}
# This line will stream the file to the user rather than spray it across the screen
header("Content-type: application/octet-stream");

# replace excelfile.xls with whatever you want the filename to default to
header("Content-Disposition: attachment; filename=excelfile.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo $header."\n".$data; 

?>

Danke im vorraus für eure hilfe
Gruß starrider
 
Beim Datum ist es wichtig, dass du einen 'String' übergibst:
PHP:
$datum = "2005-10-05";

$abfrage = "SELECT * FROM breman WHERE date = '".$datum."'";
Sonst rechnet es 2005 minus 10 minus 5
 
Danke für die schnelle antwort
Habe es mal so geändert, aber leider sind trotzdem noch alle Daten aus der Datenbank aufgeführt.

Gruß starrider
 
Zuletzt bearbeitet:
Zurück