Pesquisa de Produtos na base de dados

_NoDe_

Portugal@Home Member
<?

$desccpu=$_REQUEST['cpu'];
$preco=$_REQUEST['preço'];
$logic=$_REQUEST['logic'];
$sql=$_REQUEST['sql'];
$pag=$_REQUEST['pag'];
$php_self=$_SERVER['PHP_SELF'];

if ($desccpu){
$sql1=($desccpu) ? "cpu like '".$desccpu."%'":"";
}

if ($logic){
$sql1=($desccpu) ? "cpu like '%".$desccpu."%'":"";

if ($preco){
$sql1 .=($sql1) ? " $logic " :"";
$sql1 .="preço like '%".$preco."%'";
}}

if ($desccpu or $preco){
$ligação=mysql_connect("localhost","root");
if(!$ligação){
print("Problemas na ligação ao servidor Mysql");
}
$sql="select * from cpu where";
$sql .= $sql1. "order by cpu asc";
print ("Resultados obtidos da pesquisa <br>");
$resultado=mysql_db_query("fabio",$sql);
print("$desccpu");
print("$desccpu");
print("$preco");
print("$preco");
print("$resultado");
print("$resultado");

if ($resultado){
$reg_pag=3;
if(!$pag){
$pag=1;
}
$pag_ant=$pag-1;
$pag_seg=$pag+1;
$pag_ini=($reg_pag * $pag)- $reg_pag;
$num_reg=mysql_num_rows($resultado);
print("<b> A pesquisa efectuada encontrou $num_reg registo(s)<p>");
PRINT ("<table width=\"50%\" align=center border=1>");
PRINT ("<tr><td width=\"5%\" bgcolor=\"FFFF00\">Nº</td><td width=\"20%\" bgcolor=\"FFFF00\">Descrição</td><td width=\"5%\" bgcolor=\"FFFF00\">Preço</td></tr>");


IF($num_reg<=$reg_pag){
$num_pag=1;
}else if (($num_reg % $reg_pag)==0){
$num_pag=$num_reg/$reg_pag;
}else{
$num_pag=$num_reg/$reg_pag +1;
}

$sql=$sql."limit $pag_ini,$reg_pag";
$resultado=mysql_db_query("fabio",$sql);

while($registo=mysql_fetch_array($resultado)){
$ncpu=$registo["numcpu"];
$desccpu=$registo["cpu"];
$preco=$registo["preço"];

PRINT ("<tr><td>$ncpu</td><td>$desccpu</td><td>$preco</td></tr>");
}
echo("</table>");
print "página - <p>";
if(($pag_ant) && ($pag>1)){
echo "<a href=\"$php_self?pag=$pag_ant&nome=$desccpu&logic=$logic&telefone=$preco&sql=$sql\">Anterior</a>|-";
}
for ($i=1;$i<=$num_pag;$i++){
if ($i != $pag){
echo "<a href=\"$php_self?pag=$i&nome$desccpu&logic=$logic&telefone=$preco&sql=$sql\">Seguinte</a>";
}else{
echo"$i -|";
}
}
if ($pag+1<$num_pag){
echo "<a href=\"$php_self?pag=$pag_seg&nome=$desccpu&logic=$logic&telefone=$preco&sql=$sql\">Seguinte</a>";

}
}else{
print("Não Há registos");
}
}else{
echo "Defina condições de selecção<br>";
echo "<br>(a selecção será efectuada para registos cujos campos Descrição e Preço contenham caracteres inseridos)<p><br><br>";


?>
<form method="POST" action="<?echo $_SERVER['PATH_INFO'];?>">
<p align=center>Nome - <input type="text" name="cpu" size="25">
<p align=center><b><input type="radio" value="and" name="logic">e
<input type="radio" value="or" checked name="logic">ou
</b></p>
<p align=center>Preço - <input type="text" name="preço" size="12"></p>
<p align=center><input type="submit" value="Procurar" name="Procurar"></p>
</form>
<?}
//mysql_free_result[$resultado);
print("<br><br><br><br><br><br><br><br>");
include("menu1.txt");
?>
</body>
</html>


Problema disto -> if ($resultado){
Não entra neste IF tou desesperado.
 
nao percebo puto de php, mas se tas a dizer que nao entra nesse if que ta nas primeiras 10linhas para que e' o resto do codigo? so atrapalha

nao sei o que ja tentaste fazer ou nao, vou lancar algumas coisas.

verifica o nome do campo 'cpu' e ve se nao ha nada a fazer intreferencia. podes sempre alterar o nome para outra coisa so para testar.

se nao entrar na mesma, comenta a instrucao que tens nesse IF e imprime qualquer coisa no ecra so mesmo para verificar se entra ou nao.

supondo que os outros IFs funcionam podes sempre trocar:
Código:
 $desccpu=$_REQUEST['cpu'];
para isto:
Código:
 $desccpu=$_REQUEST['preço'];
e ve se entra, se nao entrar diz alguma coisa...
...mas por favor usem as tags do CODE
 
Back
Topo