Advertisement
Guest User

Resposta do Fórum Wordpress Brasileiro para "Busca em campo"

a guest
May 25th, 2012
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.32 KB | None | 0 0
  1. <?php
  2. /*
  3. Template Name: lista-telefonica
  4. *
  5. */?>
  6. <?php get_header(); ?>
  7.  
  8. <?php
  9.  
  10. if (isset($_POST['action']) && $_POST['action'] == 'enviar') {
  11.  
  12.     $nome = $_POST['txt_nome'];
  13.     $endereco = $_POST['txt_endereco'];
  14.     $email = $_POST['txt_email'];
  15.     $telefone = $_POST['txt_telefone'];
  16.     $celular = $_POST['txt_celular'];
  17.  
  18.       global $wpdb;
  19.  
  20.       $cad_lista_telefonica = $wpdb->insert( 'wp_lista_telefonica', array(
  21.                     'txt_nome'=>$nome,
  22.                     'txt_endereco'=>$endereco,
  23.                     'txt_email'=>$email,
  24.                     'txt_telefone'=>$telefone,
  25.                     'txt_celular'=>$celular,
  26.         ));
  27.  
  28. }
  29. ?>
  30. <?php /* Quanto mais completo, melhor seu formulário. E sempre com letras minúsculas para XHTML */ ?>
  31. <form method="post" action="" enctype="multipart/form-data">
  32.     Palavra: <input name="palavra">
  33.     <input type="submit" value="Buscar">
  34. </form>
  35.  
  36. <?php
  37.  
  38. if(isset($_POST['palavra']) && $_POST['palavra'] != '') { //HTTP_POST_VARS está em desuso, e aspas simples é mais rápida no processamento
  39.  
  40.         /* Altera os espaços adicionando no lugar o simbolo % */
  41.         $palavra = str_replace(' ', '%', $_POST['palavra']); //Muito bem aqui, trocando de espaço para porcentagem. Parabéns
  42.  
  43.         $tabela = $wpdb->prefix . 'lista_telefonica'; //Sempre utilize o prefix do WordPress em nomes de tabelas caso o seu banco de dados seja compartilhado
  44.         $qr = $wpdb->get_results($wpdb->prepare("SELECT * FROM " . $tabela . " WHERE txt_nome LIKE '%s'", '%' . $palavra . '%')); //Importantíssimo utilizar o método $wpdb->prepare para evitar SQL Injection e invasões
  45.        
  46.         $total = count($qr); //Não há necessidade de criar outra query para descobrir o total, basta contar o total de objetos retornados.
  47.  
  48.         echo "Sua busca retornou '$total' resultados."; //Aqui deixei as aspas duplas, pois existe uma variável em PHP $total.
  49.  
  50.         // Gera o Loop com os resultados //Foreach é mais fácil de utilizar
  51.         foreach ($qr as $line) {
  52.                 echo "<hr>";
  53.                 echo $line->txt_nome; //Object é mais fácil e mais limpo do que ARRAY, basta usar setinhas "->"
  54.         }
  55.  
  56.         foreach ( $qr as $row ){ // percorre um ARRAY //Aqui você está executando o mesmo loop, não faz muito sentido, mas está funcionando
  57.             echo $qr.'texto';
  58.             echo $row->txt_nome;
  59.             echo $row->txt_email;
  60.         }
  61. }
  62. ?>
  63.  
  64. <?php get_footer(); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement