1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Filtro não retorna o resultado na tela

Galera estou tentando fazer um sistema de pesquisa, com php mysql e ajax, mas o valor não esta sendo retornado na tela só via url. Alguem pode me ajudar? Abaixo estão os codigos ajax, index, contato, e sql

codigo Ajax.js

/**
 * Função para criar um objeto XMLHTTPRequest
 */
function CriaRequest() {
    try{
        request = new XMLHttpRequest();        
    }catch (IEAtual){

        try{
            request = new ActiveXObject("Msxml2.XMLHTTP");       
        }catch(IEAntigo){

            try{
                request = new ActiveXObject("Microsoft.XMLHTTP");          
            }catch(falha){
                request = false;
            }
        }
    }

    if (!request) 
        alert("Seu Navegador não suporta Ajax!");
    else
        return request;
}

/**
 * Função para enviar os dados
 */
function getDados() {

    // Declaração de Variáveis
    var nome   = document.getElementById("txtnome").value;
    var email   = document.getElementById("txtemail").value;
    var result = document.getElementById("Resultado");
    var xmlreq = CriaRequest();

    // Exibi a imagem de progresso
    result.innerHTML = '<img src="Progresso1.gif"/>';

    // Monta a requisição
    xmlreq.open("GET", "contato.php?txtnome=" + nome "&txtemail=" + email, true);

    // Atribui uma função para ser executada sempre que houver uma mudança de estado
    xmlreq.onreadystatechange = function(){

        // Verifica se foi concluído com sucesso e a conexão fechada (readyState=4)
        if (xmlreq.readyState == 4) {

            // Verifica se o arquivo foi encontrado com sucesso
            if (xmlreq.status == 200) {
                result.innerHTML = xmlreq.responseText;
            }else{
                result.innerHTML = "Erro: " + xmlreq.statusText;
            }
        }
    };
    xmlreq.send(null);
}

codigo contato.php

<?php

// Verifica se existe a variável txtnome
if (isset($_GET["txtnome"]) || isset($_GET['txtemail'])) {
    $nome = $_GET["txtnome"];
    $email = $_GET["txtemail"];

    // Conexao com o banco de dados
    $server = "localhost";
    $user = "root";
    $senha = "";
    $base = "agenda";

    $conexao = mysql_connect($server, $user, $senha) or die("Erro na conexão!");
    mysql_select_db($base);

    // Verifica se a variável está vazia
    if (empty($nome) || empty($email)) {
        $sql = "SELECT * FROM contato";
    } else {
        $nome .= "%";
        $email .= "%";
        $sql = "SELECT * FROM contato WHERE nome like '$nome' and email like '$email'";
    }
    sleep(1);

    $result = mysql_query($sql);
    $cont = mysql_affected_rows($conexao);

    // Verifica se a consulta retornou linhas 
    if ($cont > 0) {

        // Atribui o código HTML para montar uma tabela
        $tabela = "<table border='1'>
                    <thead>
                        <tr>
                            <th>NOME</th>
                            <th>TELEFONE</th>
                            <th>CELULAR</th>
                            <th>EMAIL</th>
                        </tr>
                    </thead>
                    <tbody>
                    <tr>";

        $return = "$tabela";

        // Captura os dados da consulta e inseri na tabela HTML
        while ($linha = mysql_fetch_array($result)) {
            $return.= "<td>" . utf8_encode($linha["NOME"]) . "</td>";
            $return.= "<td>" . utf8_encode($linha["FONE"]) . "</td>";
            $return.= "<td>" . utf8_encode($linha["CELULAR"]) . "</td>";
            $return.= "<td>" . utf8_encode($linha["EMAIL"]) . "</td>";
            $return.= "</tr>";
        }

        echo $return.="</tbody></table>";
    } else {

        // Se a consulta não retornar nenhum valor, exibi mensagem para o usuário
        echo "Não foram encontrados registros!";
    }
}
?>

codigo index.html

<!--
To change this template, choose Tools | Templates
and open the template in the editor.
-->
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <script type="text/javascript" src="ajax.js"></script>
        <div id="Container">
            <h1>Agenda de Contatos utilizando AJAX</h1>
            <hr/>

            <h2>Pesquisar Contato:</h2>
            <div id="Pesquisar">
                Infome o nome: 
                <input type="text" name="txtnome" id="txtnome"/> 
                <input type="text" name="txtemail" id="txtemail"/> 
                <input type="button" name="btnPesquisar" value="Pesquisar" onclick="getDados();"/>
            </div>
            <hr/>

            <h2>Resultados da pesquisa:</h2>
            <div id="Resultado"></div>
            <hr>

        </div>
    </body>
</html>

e codigo do banco

CREATE DATABASE `Agenda`;
CREATE TABLE `Contato` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `NOME` varchar(100) DEFAULT NULL,
  `FONE` varchar(15) NOT NULL,
  `CELULAR` varchar(15) NOT NULL,
  `EMAIL` varchar(50) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

Blockquote

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags php ajax mysql html ou faça a sua própria pergunta.