Rudi: Daten sammeln über mehrere Abfragen

Beitrag lesen

Hallo,

ich hole Veranstaltungstermine eines Ortes für die nächsten sieben Tage. Wenn das weniger als zehn Termine sind, suche auch im Umkreis. Wenn immer noch unter zehn, erhöhe die Umkreis-km.

  $arr_KM = array( 0, 10, 20, 50, 100, 500, 2000, 10000 );  
  $tag_bis = date( "Y-m-d", time() +60*60*24*7 );  
  for ( $i=0; $i<=count($arr_KM); $i++ )  
  {  
    $KM = $arr_KM[$i];  
    $q = "..."  
    $res_trm = @mysql_query( $q, $conn_id );  
    if ( @mysql_num_rows($res_trm) >= 10 ) break;  
  }  

Nun passiert Folgendes:
Für einen Umkreis werden Termine gefunden, aber es sind weniger als zehn. Der nächstgrößere Umkreis ergibt vielleicht 60 Termine, darunter auch der Nachbarort. Weil aber nach Datum sortiert wird, drängeln sich weiter entfernte Orte unter die ersten 10, der Nachbar-Termin ist nicht darunter.

Nun könnte ich nach jedem Durchlauf die gefundenen Termine in PHP speichern und beim nächsten Durchlauf vergleichen. Falls noch nicht gespeichert, dann hinzufügen. Falls zehn Termine erreicht sind ...

Geht das mit MySQL einfacher? Irgendwie iin der Form: Behalte die gefundenen Sätze von der letzten Abfrage und suche weitere dazu?

Gruß Rudi