Autor | Zpráva | ||
---|---|---|---|
jamal Profil * |
#1 · Zasláno: 7. 4. 2011, 17:46:45
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 |
#2 · Zasláno: 8. 4. 2011, 08:58:06
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 * |
#3 · Zasláno: 8. 4. 2011, 10:27:16
Díky moc v polích se moc nevyžívám :) hodně mi to pomohlo
|
||
Časová prodleva: 15 let
|
0