Problema desconhecido ao passar consulta SQL para PHP
Pessoal bom dia,
Estou desenvolvendo um pequeno sistema de relatórios e até a presente data tudo corria perfeitamente bem, porém tenho uma consulta feita diretamente em SQL que roda no SQL server de forma excelente, porém ao ser incluída em PHP acontece um evento estranho.
Eis o SQL:
select fa.fantasia, f.filial, v.codigo, v.pedido, fc.filial, faa.fantasia, pn.part_number, v.data
from t_fantasias fa
inner join t_filiais f on fa.codigo = f.fantasia
inner join t_vendas v on v.distribuidor = f.codigo
inner join t_filiais fc on fc.codigo = v.cliente
inner join t_fantasias faa on faa.codigo = fc.fantasia
inner join t_vendas_itens vi on vi.venda = v.codigo
inner join t_part_numbers pn on pn.codigo = vi.part_number
where f.razao_social like '%servishop%'
and v.data between '01/03/2017' and '30/03/2017'
Este SQL me mostra nome fantasia (distribuidor), filial (distribuidor), codigo (um número de protocolo que utilizamos), numero do pedido, filial (cliente), nome fantasia (cliente), part number do produto, data da venda! Perfeito.
Eis o PHP:
$query = "SELECT FA.$campo1, F.$campo2, V.$campo3, V.$campo4, FC.$campo17, FAA.$campo16, PN.$campo5, V.$campo6
FROM $tabela1 FA
INNER JOIN $tabela2 F on FA.$campo7 = F.$campo8
INNER JOIN $tabela3 V on V.$campo9 = F.$campo10
INNER JOIN $tabela7 FC on FC.$campo18 = V.$campo11
INNER JOIN $tabela6 FAA on FAA.$campo19 = FC.$campo20
INNER JOIN $tabela4 VI on VI.$campo12 = V.$campo3
INNER JOIN $tabela5 PN on PN.$campo13 = VI.$campo14
WHERE F.$campo15 LIKE '%$RRT1%'
AND V.$campo6 BETWEEN '$var1' AND '$var2'";
$consulta = mssql_query($query);
$numRegistros = mssql_num_rows($consulta);
echo "<table border='2' size='4'>";
echo "<TR><TD><B>Distribuidor</B></TD>";
echo "<TD><B>Filial</B></TD>";
echo "<TD><B>Cliente</B></TD>";
echo "<TD><B>Filial Cliente</B></TD>";
echo "<TD><B>Protocolo</B></TD>";
echo "<TD><B>Pedido</B></TD>";
echo "<TD><B>Part Number</B></TD>";
echo "<TD><B>Data Venda</B></TD></TR>";
if ($numRegistros!=0) {
while ($cadaLinha = mssql_fetch_array($consulta)) {
echo "<TD WIDTH=250>" .$cadaLinha[$campo1]."</TD>";
echo "<TD WIDTH=250>" .$cadaLinha[$campo2]."</TD>";
echo "<TD WIDTH=250>" .$cadaLinha[$campo16]."</TD>";
echo "<TD WIDTH=150>" .$cadaLinha[$campo17]."</TD>";
echo "<TD WIDTH=400>" .$cadaLinha[$campo3]."</TD>";
echo "<TD WIDTH=150>" .$cadaLinha[$campo4]."</TD>";
echo "<TD WIDTH=150>" .$cadaLinha[$campo5]."</TD>";
echo "<TD WIDTH=120>" .$cadaLinha[$campo6]."</TD></TR>";
}
}
}
Ja esta consulta PHP com o mesmo select, repete o nome e filial do cliente no local onde deveria estar o nome e filial do distribuidor.
Tentei com a consulta direta para verificar o resultado, mesma coisa, dai então transformei tudo em variável a fim de mostrar ao PHP a diferença entre uma e outra.
Declarei as variáveis dessa forma:
$tabela1 = "T_FANTASIAS";
$tabela2 = "T_FILIAIS";
$tabela3 = "T_VENDAS";
$tabela4 = "T_VENDAS_ITENS";
$tabela5 = "T_PART_NUMBERS";
$tabela6 = "T_FANTASIAS";
$tabela7 = "T_FILIAIS";
$campo1 = "fantasia"; //fantasias
$campo2 = "filial"; //filiais
$campo3 = "codigo"; //vendas
$campo4 = "pedido"; //vendas
$campo5 = "part_number"; //part numbers
$campo6 = "data"; //vendas
$campo7 = "codigo"; //fantasias
$campo8 = "fantasia"; //filiais
$campo9 = "distribuidor"; //vendas
$campo10 = "codigo"; //filiais
$campo11 = "cliente"; //vendas
$campo12 = "venda"; //vendas itens
$campo13 = "codigo"; //part numbers
$campo14 = "part_number"; //vendas itens
$campo15 = "razao_social"; //filiais
$campo16 = "fantasia"; //faa
$campo17 = "filial"; //fc
$campo18 = "codigo"; //fc
$campo19 = "codigo"; //faa
$campo20 = "fantasia"; //fc
Se alguém me mostrar uma luz, agradeço!
Discussão (2)
Carregando comentários...