Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Dae galera to com um problema com meus array!
Tenho dois arrays um que pega os horarios ocupados e outro os horarios disponiveis, tenho que retornar a diferença destes arrays, estou usando o array_diff();
Meu código esta assim:
ai vai o banco
create table dias(
id integer PRIMARY KEY AUTO_INCREMENT,
descricao varchar(7),
abreviacao varchar(3)
)engine INNODB;
create table turmas()engine inodb;
create table dias()engine INNODB;
create table dias_turmas()engine innodb;
insert into dias values(default,'Segunda','Seg');
insert into dias values(default,'Terça','Ter');
insert into dias values(default,'Quarta','Qua');
insert into dias values(default,'Quinta','Qui');
insert into dias values(default,'Sexta','Sex');
insert into dias values(default,'Sabado','Sab');
insert into dias values(default,'Domingo','Dom');
insert into turmas values(default,'00:30:00','00:01:30');
insert into dias_turmas values(1,2);
Retorna todas horas possiveis($h_possiveis)
for ($i = 0; $i <= 24; $i++) {
for ($x = 0; $x <= 30; $x+=30) {
if (($i + $x) < (54)) {
if ($x != 30) {
$x = $x . "0:00";
}else if ($x == 30) {
$x = $x . ":00";
}
if ($i < 10) {
$h_possiveis[]="0" . $i . ":" . $x ."\n";
}
else {
$h_possiveis[]=$i . ":" . $x . "\n";
}
}
}
}
Retorno do banco os horarios iniciais utilizados($h_iniciais_utilizadas)
if (isset($_POST["diasSelecionados"])) {
$h_iniciais_utilizadas = array();
$h_finais_utilizadas = array();
$h_possiveis = array();
$sql = "select DISTINCT t.* from dias_turmas dt, turmas t where id_dia in (" . $diasSelecionados . ") AND t.id = dt.id_turma";
$res = mysql_query($sql);
//retorno duas istas uma de horarios iniciais e outro de horarios finais utilizados
while ($row = mysql_fetch_array($res)) {
$h_iniciais_utilizadas[] = $row["hora_inicial"];
$h_finais_utilizadas[] = $row["hora_final"];
}
}
Aqui que tento pegar oque tem de diferente mas nao ta funcionando queria as horas possiveis menos as ocupadas!
$result = array_diff($h_possiveis,$h_iniciais_utilizadas);
$print_r = print_r($result);Carregando comentários...