1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Pesquisa de Produtos na base de dados

Discussão em 'Web Development' iniciada por _NoDe_, 11 de Fevereiro de 2007. (Respostas: 1; Visualizações: 503)

  1. _NoDe_

    _NoDe_ [email protected] 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.
     
  2. OldMan

    OldMan Power Member

    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
     

Partilhar esta Página