Jump to content


Photo

[Resolvido] Variavel De Formulário Numa Query


  • Faça o login para participar
5 replies to this topic

#1 FreemanDF

FreemanDF

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 20/08/2009, 17:25

Bem pessoal... estou muito feliz e grato com este fórum, pois não é Tabajara mas "si-acabram-si meus pobremias".
Espero ser útil tb algum dia....

vamos a segunda dúvida.

Recebo uma variável de um form através de POST.
onde colocar na QUERY MySQL para melhor ajustar a pesquisa?

<?php require_once('../../Connections/connORC.php'); ?>
<?php $strPrefixo=$_POST["menuUnidade"];
mysql_select_db($database_connORC, $connORC);
$query_cons75850100000 = "SELECT Serie.Prefixo, tbunidade.Nome, tbunidade.UF, Serie.Item, tbmes.id_mes, Serie.Projetado, Serie.Observado  FROM tbunidade INNER JOIN (tbmes INNER JOIN Serie ON tbmes.mes = Serie.Mes) ON tbunidade.Prefixo = Serie.Prefixo  WHERE Serie.Prefixo="[b]XXXXX[/b]" HAVING Serie.Item="75850100000"  ORDER BY Serie.Prefixo, Serie.Item, Serie.Mes";
$cons75850100000 = mysql_query($query_cons75850100000, $connORC) or die(mysql_error());
$row_cons75850100000 = mysql_fetch_assoc($cons75850100000);
$totalRows_cons75850100000 = mysql_num_rows($cons75850100000);


$cons75850100000 = mysql_query($query_cons75850100000, $connORC) or die(mysql_error());
$row_cons75850100000 = mysql_fetch_assoc($cons75850100000);
$totalRows_cons75850100000 = mysql_num_rows($cons75850100000);

?>
<html>
<head>
<style type="text/css">
<!--
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style2 {
	font-size: 14px;
	font-weight: bold;
}
.style3 {font-size: 12px}
.style4 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
-->
</style>
<body>

<p class="style1"><span class="style1"><span class="style2">SMD - Sistema de Monitoramento de Despesas</span><br />
	<span class="style3">Item Or&ccedil;ament&aacute;rio: 75850100000 - Comunica&ccedil;&atilde;o Telefonia </span></span></p>
<p class="style1">&nbsp;</p>
<p>
  <?php
mysql_free_result($cons75850100000);
?>

Seria onde estão os XXXXX? Como chamar a variável aqui? tenho muita dificuldade com a clausula WHERE, pois no Teste (dentro do DW 8.0) e na base funcionam, mas no PHP não. vai entender...

Abraços!

Edição feita por: FreemanDF, 21/08/2009, 12:13.


#2 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 20/08/2009, 17:36

Não vou escrever o código todo, mas ficaria assim:

"SELECT ... WHERE Serie.Prefixo='" . $strPrefixo . "' HAVING ..."

[]'s (y)Até mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#3 FreemanDF

FreemanDF

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 20/08/2009, 17:42

Não vou escrever o código todo, mas ficaria assim:

"SELECT ... WHERE Serie.Prefixo='" . $strPrefixo . "' HAVING ..."

[]'s (y)


.
.
WHERE Serie.Prefixo='"$strPrefixo"' HAVING Serie.Item="75850100000"  ORDER BY Serie.Prefixo, Serie.Item, Serie.Mes";
.
.

Parse error: syntax error, unexpected T_VARIABLE in /opt/lampp/htdocs/orc/blocagem/75850100000/res_75850100000.php on line 4

Edição feita por: FreemanDF, 20/08/2009, 17:55.


#4 l3on4rdo

l3on4rdo

    O Mestre dos Mestres

  • Usuários
  • 159 posts
  • Sexo:Não informado
  • Localidade:São Carlos - SP

Posted 20/08/2009, 18:37

tenta assim:

WHERE Serie.Prefixo='".$strPrefixo."' HAVING Serie.Item="75850100000"  ORDER BY Serie.Prefixo, Serie.Item, Serie.Mes";

Abraços
Buscando um convite do TorrentLeech ! Se tiver um, me mande uma MP ! Ratio > 1 garantida !

#5 Paulo André

Paulo André

    Why so serious?

  • Ex-Admins
  • 5114 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte - MG
  • Interesses:O.Q.F.J.?

Posted 21/08/2009, 08:33

Você só não colocou os pontos para concatenar as strings, que coloquei no meu post anterior e que o Leonardo também complementou.

[]'sAté mais
Paulo André G Rodrigues,
ex-administrador Fórum WMO.


www.CanalDev.com.br

#6 FreemanDF

FreemanDF

    Turista

  • Usuários
  • 27 posts
  • Sexo:Não informado

Posted 21/08/2009, 12:12

tenta assim:

WHERE Serie.Prefixo='".$strPrefixo."' HAVING Serie.Item="75850100000"  ORDER BY Serie.Prefixo, Serie.Item, Serie.Mes";

Abraços


Ok, funcionou! Mas não estou conseguindo funcionar com as 2 Cláusulas. :unsure:
Preciso de 2 restrições. o Prefixo e o Item.
Sugestões?

Somente com uma passa. com as 2 dá o "parse error".

<?php require_once('../../Connections/connORC.php'); ?>
<?php $strPrefixo=$_POST["menuUnidade"];
mysql_select_db($database_connORC, $connORC);
$query_cons75850100000 = "SELECT Serie.Prefixo, tbunidade.Nome, tbunidade.UF, Serie.Item, tbmes.id_mes, Serie.Projetado, Serie.Observado FROM tbunidade INNER JOIN (tbmes INNER JOIN Serie ON tbmes.mes = Serie.Mes) ON tbunidade.Prefixo = Serie.Prefixo  WHERE (Serie.Item='75850100000' AND Serie.Prefixo='".strPrefixo."')  ORDER BY Serie.Prefixo, Serie.Item, Serie.Mes"";
$cons75850100000 = mysql_query($query_cons75850100000, $connORC) or die(mysql_error());
$row_cons75850100000 = mysql_fetch_assoc($cons75850100000);
$totalRows_cons75850100000 = mysql_num_rows($cons75850100000)";
?>

<html>
<head>
<style type="text/css">
<!--
.style1 {font-family: Verdana, Arial, Helvetica, sans-serif}
.style2 {
	font-size: 14px;
	font-weight: bold;
}
.style3 {font-size: 12px}
-->
</style>
<body>

<p class="style1"><span class="style1"><span class="style2">SMD - Sistema de Monitoramento de Despesas</span><br />
	<span class="style3">Item Or&ccedil;ament&aacute;rio: 75850100000 - Comunica&ccedil;&atilde;o Telefonia </span></span></p>
<p class="style1">&nbsp;</p>
<p class="style1 style3">O desempenho  da Unidade <strong><?php echo $strPrefixo ?></strong> foi: </p>
<p class="style1">
</p>
<p class="style1">&nbsp;</p>

<?php
mysql_free_result($cons75850100000);
?>


O php tá acusando erro na Query.

mysql_select_db($database_connORC, $connORC);
$query_cons75850100000 = "SELECT Serie.Prefixo, tbunidade.Nome, tbunidade.UF, Serie.Item, tbmes.id_mes, Serie.Projetado, Serie.Observado FROM tbunidade INNER JOIN(tbmes INNER JOIN Serie ON tbmes.mes = Serie.Mes) ON tbunidade.Prefixo = Serie.Prefixo WHERE Serie.Prefixo='".$strPrefixo."' AND Serie.Item="75850100000") ORDER BY Serie.Prefixo, Serie.Item, Serie.Mes";
$cons75850100000 = mysql_query($query_cons75850100000, $connORC) or die(mysql_error());
$row_cons75850100000 = mysql_fetch_assoc($cons75850100000);
$totalRows_cons75850100000 = mysql_num_rows($cons75850100000);

Resolvido. Era as " " da constante.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq