Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

junaooaks

consulta db

Recommended Posts

galera to fazendo uma consulta no db onde

o usuario informa o nomeCliente e dataInicial e dataFinal

 

com esta informações a consulta teria que pegar o nome do cliente no periodo da data inicial + data final e me retornar o numero do pedido, o vendedor, nome do cliente, é numero do id_itens que se refere ao pedido

 

construi o codigo assim:

$sql = "SELECT * FROM cliente, pedido, vendedor, itens WHERE pedido.data BETWEEN '$datainicial' AND 'datafinal' 
		AND cliente.nome = '$nome'
		AND pedido.id_vendedor = vendedor.id_vendedor
		AND itens.cod_pedido = pedido.id_pedido
		AND pedido.id_cliente = cliente.id_cliente ORDER BY cliente.nome ASC";
$sql = mysql_query($sql) or die (mysql_error());

so que nao me esta retornando nem um valor, é nem erro

 

preciso de uma forcinha :rolleyes:

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez seja apenas falta de parênteses. Tente assim:

 

$sql = "SELECT * FROM cliente, pedido, vendedor, itens WHERE (pedido.data BETWEEN '$datainicial' AND 'datafinal')
		AND cliente.nome = '$nome'
		AND pedido.id_vendedor = vendedor.id_vendedor
		AND itens.cod_pedido = pedido.id_pedido
		AND pedido.id_cliente = cliente.id_cliente ORDER BY cliente.nome ASC";
$sql = mysql_query($sql) or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

Talvez seja apenas falta de parênteses. Tente assim:

 

$sql = "SELECT * FROM cliente, pedido, vendedor, itens WHERE (pedido.data BETWEEN '$datainicial' AND 'datafinal')
		AND cliente.nome = '$nome'
		AND pedido.id_vendedor = vendedor.id_vendedor
		AND itens.cod_pedido = pedido.id_pedido
		AND pedido.id_cliente = cliente.id_cliente ORDER BY cliente.nome ASC";
$sql = mysql_query($sql) or die (mysql_error());

 

coloquei parênteses mas nao me retorno nada, nem erro

 

olha o codigo da pagina toda:

 

<?php

include "conexao_mysql.php";

 

// determinar as variaveis

$cliente = $_POST['cliente'];

$data_inicial = $_POST['inicio'];

$data_final = $_POST['fim'];

 

//converter o que for digitado minusculo para maiusculo comando " strtoupper "

$nome = strtoupper ($cliente);

 

//explodir as datas inicial

$dat = explode ('/', $data_inicial);

$datainicial = $dat[2]."-".$dat[1]."-".$dat[0];

 

//explodir data final

$da = explode ("/", $data_final);

$datafinal = $da[2]."-".$da[1]."-".$da[0];

 

//selecionar dados na tabela

$sql = "SELECT * FROM cliente, pedido, vendedor, itens WHERE (pedido.data BETWEEN '$datainicial' AND 'datafinal')

AND cliente.nome = '$nome'

AND pedido.id_vendedor = vendedor.id_vendedor

AND itens.cod_pedido = pedido.id_pedido

AND pedido.id_cliente = cliente.id_cliente ORDER BY cliente.nome ASC";

$sql = mysql_query($sql) or die (mysql_error());

 

//resultado na tela

while ($row = mysql_fetch_array($sql)){

$id = $row ['id_pedido'];

$no = $row ['nome'];

$vend = $row ['nomeVendedor'];

$data = $row ['data'];

echo $id, $no, $vend, $data;

}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

A data usada no BETWEEN está no formato correto? O campo é DATE?

 

Enfim, o resultado deve ser esperado para o banco ..., sua query realmente não está sendo satisfeita com os dados atuais.

E sem nós conhecê-los, fica difícil detectar o motivo. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.