Suporte » Desenvolvendo com WordPress » Busca em campo especializado

  • Resolvido emersonpereira

    (@emersonpereira)


    Pessoal, estou tentando fazer uma agenda telefônica, criei a base de dados e esta tudo certinho, faço o select e vejo que consigo obter os dados sobre o select, o problema é que quando eu faço a busca pelo formulario de busca ele não retorna nada, não consegui identificar o problema.

    Segue o código abaixo:

    <?php
    /*
    Template Name: lista-telefonica
    *
    */?>
    <?php get_header(); ?>
    
    <?php 
    
    if (isset($_POST['action']) && $_POST['action'] == 'enviar') {
    
    	$nome = $_POST['txt_nome'];
    	$endereco = $_POST['txt_endereco'];
    	$email = $_POST['txt_email'];
    	$telefone = $_POST['txt_telefone'];
    	$celular = $_POST['txt_celular'];
    
          global $wpdb;
    
          $cad_lista_telefonica = $wpdb->insert( 'wp_lista_telefonica', array(
    					'txt_nome'=>$nome,
    					'txt_endereco'=>$endereco,
          				'txt_email'=>$email,
          				'txt_telefone'=>$telefone,
          				'txt_celular'=>$celular,
    		));
    
    }
     ?>
    
    <FORM method="post">
    Palavra: <INPUT name="palavra">
    <INPUT type="submit" value="Buscar">
    </FORM>
    
    <?php
    
    if(!empty($HTTP_POST_VARS["palavra"])) {
    
            $palavra = str_replace(" ", "%", $HTTP_POST_VARS[palavra]);
    
            /* Altera os espaços adicionando no lugar o simbolo % */
    
    		$qr = $wpdb->get_results("SELECT * FROM wp_lista_telefonica WHERE txt_nome = '$palavra'", ARRAY_A);
    
            // Executa a query no Banco de Dados
            $sql = mysql_query($qr);
    
            // Conta o total ded resultados encontrados
            $total = mysql_num_rows($sql);
    
            echo "Sua busca retornou '$total' resultados.";
    
            // Gera o Loop com os resultados
            while($r = mysql_fetch_array($sql)) {
                    echo "<hr>";
                    echo $r["txt_nome"];
            }
    
    		foreach ( $qr as $row ){ // percorre um ARRAY
    		echo $qr.'texto';
    		echo $row ['txt_nome'];
    		echo $row['txt_email'];
    
    		}
    }
    ?>
    
    <?php get_footer(); ?>
Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • Olá, Emerson

    Para códigos muito grandes, recomendamos o uso de sites como o pastebin que facilitam para nós lermos o código com syntax highlight e identado.

    Você está utilizava um código depreciado como HTTP_POST_VARS que era do PHP 4. Agora sempre utilize $_POST para variáveis via POST.

    Corriji alguns itens do seu código e comentei com alguns feedbacks e correções.

    Está tudo no pastebin: http://pastebin.com/bYvLAxqs

    Se não resolver, seria ideal enviar o link, ok?

    Qualquer dúvida do que fiz/comentei, me responda.

    Abs,

    Criador do tópico emersonpereira

    (@emersonpereira)

    Agradeço pela grande ajuda, problema resolvido.

    PS: Estou separando o conteúdo relativo a wordpress na qual eu tive dificuldade para implementar para postar num blog futuro que estou preparando, gostaria de saber se você me autoriza a postar o código e te referenciar como autor do mesmo.

    No mais, aguardo sua resposta.

    Obrigado pela atenção.

    Autorizo sim, com certeza!

    Se puder, referencie pelo meu Twitter @leocaseiro

    Abs

    Criador do tópico emersonpereira

    (@emersonpereira)

    Obrigado, estarei referenciando seu twitter, obrigado

Visualizando 4 respostas - 1 até 4 (de um total de 4)
  • O tópico ‘Busca em campo especializado’ está fechado para novas respostas.