# SQL select - nach Kalenderwoche



## ariane (16. Februar 2004)

Hallo zusammen

Ich habe eine Gartenkalender-Datenbank mit einem Datumsfeld [von] und einem Datumsfeld [bis]. In einer SQL  Abfrage möchte ich nun alle Datensätze auswählen, welche zwischen dem Datum [von] und dem Datum [bis] liegen.

Zum Beispiel: Datensatz Rosen schneiden [von: 1.10.2004] [bis:15.11.2004] 
In diesem Zeitraum soll der Datensatz angezeigt werden. Schön wäre es, wenn die Jahreszahl nicht relevant wäre. D.h. Nur auf den Tag schauen.

Alles was ich probiert habe hat zu Fehlern geführt. Deshalb hier nur das Recordset aus Dreamweaver mit der Auswahl aller Datensätze.

Ich wäre sehr froh um eine Antwort. PHP/MySQL-Buch in Arbeit. So auf die schnelle krieg ich das aber auch nicht in den Kopf.

Code:
---------------------------------------------------------------------------------
<?php
$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($HTTP_GET_VARS['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $HTTP_GET_VARS['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;

mysql_select_db($database_news, $news);
$query_Recordset1 = "SELECT * FROM tb_news";
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $news) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);

if (isset($HTTP_GET_VARS['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $HTTP_GET_VARS['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
?>
-----------------------------------------------------------------


----------



## melmager (17. Februar 2004)

> Ich habe eine Gartenkalender-Datenbank mit einem Datumsfeld [von] und einem Datumsfeld [bis]. In einer SQL Abfrage möchte ich nun alle Datensätze auswählen, welche zwischen dem Datum [von] und dem Datum [bis] liegen.



da bietet sich ein between an 

Select * From dbtabelle Where xxx between vonfeld And bisfeld

mit week macht man dann die abfrage unabhängig vom jahr und wochengenau

sprich:

Select * From dbtabelle Where week(now()) between week(vonfeld) and week(bisfeld)

listet alle Einträge auf wenn die aktuelle Woche in den Zeitraum fällt

denke mal das haste gesucht


----------



## ariane (17. Februar 2004)

*Super!* 

Klappt 1A - Du hast mir sehr geholfen - Danke!


----------

