NeoNeMeSiS
Grünschnabel
In der folgenden Funktion soll anhand einer vorher vom Benutzer getroffenen groben Auswahl nach Anfangs-Monat/End-Monat und Jahr einer Reise sollen alle in der DB gespeicherten und auf diese Auswahl zutreffenden Ergebnisse ausgegeben werden jedoch funktioniert die Abfrage nicht und ich - habe die Aufgabe von meinem Vorgänger übernommen - komme nicht mehr weiter habe schon 8 Stunden nur über dieser Abfrage gegrübelt.
Ich wäre für jede Idee sehr dankbar...
PHP:
/****************************************************/
function get_grob($reiseart,$termin_eins_grob,$termin_zwei_grob,$ort,$page=1,$jahr){
if ($termin_eins_grob>$termin_zwei_grob)
$jahr2=$jahr+1;
else
$jahr2=$jahr;
/****************************************************/
if (strlen($termin_eins_grob)==1){
$monat1="0$termin_eins_grob";
echo($monat1);
}
else{
$monat1=$termin_eins_grob;
echo($monat1);
}
/****************************************************/
$datum1=$jahr."-".$monat1."-01";
if (strlen($termin_zwei_grob)==1){
$monat2="0$termin_zwei_grob";
echo($monat2);
}
else{
$monat2=$termin_zwei_grob;
echo($monat2);
}
/****************************************************/
$datum2=$jahr2."-".$monat2."-31";
//echo $datum1."<br>".$datum2."<br>";
echo($jahr2);
/****************************************************/
$jahr2a = $jahr."-01-01";
$jahr2e = $jahr."-12-31";
/* DIE ALTE VERSION DER ABFRAGE - UND DIE ZUR ZEIT VERWENDETE */
$abfrage = "SELECT * FROM travel_groups where ((termin_eins <= '$datum1' and termin_zwei >= '$datum1')or (termin_eins <= '$datum2' and termin_zwei >= '$datum2') or (termin_eins_grob <= '$termin_eins_grob' and termin_zwei_grob >= '$termin_eins_grob') or (termin_eins_grob <= '$termin_zwei_grob' and termin_zwei_grob >= '$termin_zwei_grob')) and art='$reiseart'";
/* DIE NICHT FUNKTIONIERENDE ABFRAGE */
//$abfrage = "SELECT * FROM travel_groups where ((termin_eins_grob <= '$termin_eins_grob' and termin_zwei_grob >= '$termin_eins_grob')or(termin_eins_grob <= '$termin_zwei_grob' and termin_zwei_grob >= '$termin_zwei_grob')) and ((termin_eins >= '$jahr2a' and termin_eins >= '$jahr2e') or (termin_zwei <= '$jahr2a' and termin_zwei <= '$jahr2e')) and art = '$reiseart'";
$this->all_travels=mysql_query($abfrage,$this->verbindung);
$this->howmany_travels=mysql_num_rows($this->all_travels);
$this->max_pages=round($this->howmany_travels/$this->dps,0);
if(($this->howmany_travels>$this->max_pages*$this->dps) && ($this->howmany_travels % ($this->max_pages*$this->dps)>0))$this->max_pages++;
$this->page=$page;
}
Ich wäre für jede Idee sehr dankbar...