Motta 645 Denunciar post Postado Janeiro 30, 2015 O problema de um mal modelo é que le demanda soluções complexas para problemas simples , sinceramente não sei como resolver , talvez transformar as colunas em linha por um UNION select inicioa , fima from tabela union all select iniciob , fimb from tabela ... Compartilhar este post Link para o post Compartilhar em outros sites
biza 1 Denunciar post Postado Fevereiro 14, 2015 Mota consegui fazer o que queria , e trazer os valores com um array associativo agora estou com um problema de modelação de dados caso você me consiga dar uma ajuda fico-lhe muito grato, agora estou com dificuldade em verificar a de dias de cada uma das épocas que calha em cada uma das situações isso agora esta desta forma: <? $entryDate = $_GET['source1']; $exitDate = $_GET['source2']; $result2 = mysql_query("SELECT tbl_produto.id_produto, tbl_epocas.epoca_initA, tbl_epocas.epoca_endA, tbl_epocas.epoca_initB, tbl_epocas.epoca_endB,tbl_epocas.epoca_initC, tbl_epocas.epoca_endC, tbl_epoca_preco.id_epoca_preco, tbl_epoca_preco.alojamento,tbl_epoca_preco.qnt_tipo,tbl_epoca_preco.adulto,tbl_epoca_preco.crianca, tbl_epoca_preco.preco_1,tbl_epoca_preco.preco_2,tbl_epoca_preco.preco_3 FROM tbl_produto INNER JOIN tbl_epocas INNER JOIN tbl_epoca_preco WHERE tbl_produto.id_produto = tbl_epocas.produto_id AND tbl_produto.id_produto = tbl_epoca_preco.produto_id AND tbl_produto.id_produto =".$_GET['id']." ORDER BY alojamento ASC"); $rooms = array(); while( $row2 = mysql_fetch_array($result2)){ $id_alojamento = $row2['alojamento']; $rooms[] = $id_alojamento; $rooms[ $id_alojamento ] = array('A','B','C'); $rooms[ $id_alojamento ]['A'][] = $row2['epoca_initA']; $rooms[ $id_alojamento ]['A'][] = $row2['epoca_endA']; $rooms[ $id_alojamento ]['A'][] = $row2['preco_1']; $rooms[ $id_alojamento ]['A'][] = 0;//numDays $rooms[ $id_alojamento ]['B'][] = $row2['epoca_initB']; $rooms[ $id_alojamento ]['B'][] = $row2['epoca_endB']; $rooms[ $id_alojamento ]['B'][] = $row2['preco_2']; $rooms[ $id_alojamento ]['B'][] = 0;//numDays $rooms[ $id_alojamento ]['C'][] = $row2['epoca_initC']; $rooms[ $id_alojamento ]['C'][] = $row2['epoca_endC']; $rooms[ $id_alojamento ]['C'][] = $row2['preco_3']; $rooms[ $id_alojamento ]['C'][] = 0;//numDays } //en = entryDate = data de entrada do quarto //ex = exitDate = data de saida do quarto //endDate = fim da epoca //startDate = inicio da epoca // //1º |_________________|___en____ex___|______________| startDate < en < endDate && startDate < ex < endDate : numDays = ex - end //2º |_________________|___en_________|_____ex_______| startDate < en < endDate && ex > endDate : numDays = endData - en //3º |____________en___|_________ex___|______________| en < startDate && startDate < ex < endDate : numDays = ex - startDate //4º |____________en___|______________|_____ex_______| en < endDate && ex > endDate : numDays = endDate . startDate foreach($rooms as $key_alojamento => $epocas){ foreach($epocas as $epoca){ echo $epoca[2]. '</br>'; echo $exitDate; if($epoca[0] < $entryDate && $epoca[0] < $exitDate){ //exit += }else if($epoca[0] < $entryDate && $exitDate > $epoca[1]){ //exit += }else if($entryDate < $epoca[0] && $epoca[0] < $exitDate){ //exit += }else if($exitDate < $epoca[1] && $exitDate > $epoca[1]){ //exit += } } } ?> Obrigado por sua ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Fevereiro 14, 2015 Repito, seu problema é de modelo. Mas eu tentaria fazer a query com unions para resolver isto. (#21) Compartilhar este post Link para o post Compartilhar em outros sites