| 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