大家下午好,我有一个PHP日历,在数据库中寻找信息。
我希望插入的约会,从开始到结束合并。
与谷歌相同日历。
见下图。这是我目前对日历的看法。
注意" Teste Evento 1"和" Teste Evento 3"事件。
我想留在下面的图片中。
代码:
$data = date('d/m/y');
$data_explode = explode("/", $data);
$dia = $data_explode[0];
$mes = $data_explode[1];
$ano = $data_explode[2];
$calendario = "";
$v_mes = substr($mes, 0, 2);
$novo_mes = (int) $mes - 1;
$ultimo_dia_mes = date("t", mktime(0, 0, 0, $mes, 1, $ano));
$vetor_dias_semana = array(0, 1, 2, 3, 4, 5, 6);
$vetor_mes = array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
$calendario .="<div class='cabecalho_semana'>Domingo</div><div class='cabecalho_semana'>Segunda</div><div class='cabecalho_semana'>Terça</div><div class='cabecalho_semana'>Quarta</div><div div class='cabecalho_semana'>Quinta</div><div class='cabecalho_semana'>Sexta</div><div class='cabecalho_semana'>Sábado</div>";
$contador = 1;
$dia_semana_primeiro_dia = $dia_semana = date("w", mktime(0, 0, 0, $mes, 1, $ano));
$trava = "F";
$inicio = 1;
for ($i = 0; $i < 7; $i++) {
if ($dia_semana_primeiro_dia == $i || $trava == "T") {
$dados = connection::select("select * from agenda where (data_agenda <= '$ano-$mes-$inicio' AND termino_agenda >= '$ano-$mes-$inicio')");
//$dados = connection::select("select * from agenda as a inner join agendap as p on a.id_agenda = p.agenda_agendap where p.pessoa_agendap = $id_pessoa AND a.data_agenda = '$ano-$mes-$inicio' or a.termino_agenda = '$ano-$mes-$inicio'");
$reg = $dados->fetchObject();
if (!empty($reg)) {
$compromisso = '<small>';
$d = connection::select("select * from agenda where (data_agenda <= '$ano-$mes-$inicio' AND termino_agenda >= '$ano-$mes-$inicio')");
foreach ($d as $r) {
$compromisso .= '#' . $r['id_agenda'] . ' - ' . $r['compromisso_agenda'] . '<br>';
}
$compromisso .= '</small>';
$calendario .="<div style='background-color:#fff;' class='cabecalho_dia' value='$ano-$mes-$inicio'><a href=" . URL . "agenda/data/$ano-$mes-$inicio>" . $inicio . "<br><font style='color:#fff;background-color:#166C25;'>" . $compromisso . "</font></a></div>";
}
else {
$calendario .="<div style='background-color:#fff;' class='cabecalho_dia' value='$ano-$mes-$inicio'><a href=" . URL . "agenda/data/$ano-$mes-$inicio>" . $inicio . "</a></div>";
}
$trava = "T";
$inicio++;
}
else {
$calendario .="<div style='background-color:#fff;' class='cabecalho_dia'> </div>";
}
}
$fim = "F";
$linha_semana = 1;
while ($fim == "F" || $linha_semana < 6) {
for ($f = 0; $f < 7; $f++) {
$linha_semana++;
if ($inicio <= $ultimo_dia_mes) {
$dados2 = connection::select("select * from agenda where (data_agenda <= '$ano-$mes-$inicio' AND termino_agenda >= '$ano-$mes-$inicio')");
//$dados2 = connection::select("select * from agenda as a inner join agendap as p on a.id_agenda = p.agenda_agendap where p.pessoa_agendap = $id_pessoa and data_agenda = '$ano-$mes-$inicio' or a.termino_agenda = '$ano-$mes-$inicio'");
$reg2 = $dados2->fetchObject();
if (!empty($reg2)) {
$compromisso = '<small>';
$d = connection::select("select * from agenda where (data_agenda <= '$ano-$mes-$inicio' AND termino_agenda >= '$ano-$mes-$inicio')");
foreach ($d as $r) {
$compromisso .= '#' . $r['id_agenda'] . ' - ' . $r['compromisso_agenda'] . '<br>';
}
$compromisso .= '</small>';
$calendario .="<div style='background-color:#fff;' class='cabecalho_dia' value='$inicio/$mes/$ano'><a href=" . URL . "agenda/data/$ano-$mes-$inicio>" . $inicio . "<br><font style='color:#fff;background-color:#166C25;'>" . $compromisso . "</font></div>";
}
else {
$calendario .="<div style='background-color:#fff;' class='cabecalho_dia' value='$inicio/$mes/$ano'><a href=" . URL . "agenda/data/$ano-$mes-$inicio>" . $inicio . "</a></div>";
}
if ($inicio == $ultimo_dia_mes) {
$fim = "T";
}
$inicio++;
}
else {
$calendario .="<div style='background-color:#fff;' class='cabecalho_dia'> </div>";
}
}
}
$html = str_replace('#CALENDARIO#', $calendario, $html);