Autor Zpráva
jamal
Profil *
Zdravím potýkám se teď s takovým menším problémem. Mám kalendář v php a mysql databázi s objednávkami a uživateli. V tabulce objednávky mám mimo jiné sloupce prijezd a odjezd ve formatu rrrr-mm-dd. Snažím se o to, aby se mi v kalendáři zobrazily uživatelé u každého data v rozmezí "prijezd" a "odjezd". Prvotní nápad byl takový, že jsi ty rozmezí po samostatných datech uložím do pole a pak budu to budu kontrolovat podle in_array(). Můj problém spočívá v tom že když plním v cyklu pole tak tak se mi pořád doplňuje o další data. Už do toho asi koukám dlouho a nic mě nenapadá. Takhle nějak jsem to chtěl řešit:

			$vyb_obj=mysql_query("SELECT DATEDIFF(odjezd,prijezd) AS dnu,prijezd AS od,odjezd AS dokdy,user AS uzivatel FROM objednavky WHERE SUBSTRING(prijezd,6,2)='$mesic' OR SUBSTRING(odjezd,6,2)='$mesic'");
			$nmob=mysql_num_rows($vyb_obj);
			
			for($k=1;$k<$nmob+1;$k++){
				$vo=mysql_fetch_object($vyb_obj);
				$r=substr($vo->od,0,4); //rok
				$m=substr($vo->od,5,2); //mesic
				$d=substr($vo->od,8,2); //den
				
				 for($j=-1;$j<$vo->dnu;$j++){
				 	 $dny.=$r.'-'.$m.'-'.$d.",";
				 	 $d++;
				  }
				 

				 $pole_rezervaci=explode(",",$dny);
				 foreach($pole_rezervaci as $pr){
				 	if($pr!=""){
						echo "$pr<br>";
					}
				 }
				 echo "<br>";
			 }


Budu vděčný za každý nápad. Dík
meris
Profil
ahoj,
první věc, v selectu by jsi měl kontrolovat i rok záznamu.

za druhé, trošku můžeš zjednodušit svůj kód
pole_rezervaci = array();
for($j=-1;$j<$vo->dnu;$j++){
  // tady jeste musis vyresit posun na dalsi mesic (viz DateTime, nebo funkce strtotime.. atp) 
  pole_rezervaci[] = $r.'-'.$m.'-'.$d; 
  $d++;
}
                 
foreach($pole_rezervaci as $pr){
  echo "$pr<br>"; // nemusi byt podminka, do pole neukladam prazdne retezce
}
                 }
jamal
Profil *
Díky moc v polích se moc nevyžívám :) hodně mi to pomohlo

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0