Possuo um site desenvolvido em php, e agora eu quero transformar ele para o Joomla, pois vai ficar mais prático de trabalhar, alem das inumeras funcionalidades que posso adicionar ao meu site e faze-loo bem melhor.
Estou enfrentando um problema, tenho um sistema de lista telefonica dinamica, quando o visitante digita 3 letras da palavra ele já começa exibir resultados e vai filtrando conforme continua a digitação.
Não estou sabendo como colocá-lo funcional no joomla, tenho os seguintes arquivos no meu site normal:
No index, o código entre as tags head:
Código: Selecionar todos
<script src="script.js"></script>
<script>
function pesquisa(valor)
{
//FUNÇÃO QUE MONTA A URL E CHAMA A FUNÇÃO AJAX
url="busca_nome.php?valor="+valor;
ajax(url);
}
</script>
Código: Selecionar todos
Digite abaixo o nome que deseja localizar:
<!-- NOTE Q A CADA TECLA PRESSIONADA É CHAMADA A FUNÇÃO PESQUISA PASSANDO O QUE O USUARIO TEM DIGITADO ATÉ O MOMENTO -->
<input type="text" name="nome" onKeyUp="pesquisa(this.value)" />
</p>
<!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES -->
<div id="pagina"></div>
sript.js
Código: Selecionar todos
// JavaScript Document
// FUNÇÃO RESPONSÁVEL DE CONECTAR A UMA PAGINA EXTERNA NO NOSSO CASO A BUSCA_NOME.PHP
// E RETORNAR OS RESULTADOS
function ajax(url)
{
document.getElementById('pagina').innerHTML = "<div id='loading'><img src='imagens/loader.gif' /></div>";
//alert(nick);
//alert(dest);
//alert(msg);
req = null;
// Procura por um objeto nativo (Mozilla/Safari)
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
req.onreadystatechange = processReqChange;
req.open("GET",url,true);
req.send(null);
// Procura por uma versão ActiveX (IE)
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
if (req) {
req.onreadystatechange = processReqChange;
req.open("GET",url,true);
req.send();
}
}
}
function processReqChange()
{
// apenas quando o estado for "completado"
if (req.readyState == 4) {
// apenas se o servidor retornar "OK"
if (req.status ==200) {
// procura pela div id="pagina" e insere o conteudo
// retornado nela, como texto HTML
document.getElementById('pagina').innerHTML = req.responseText;
} else {
alert("Houve um problema ao obter os dados:n" + req.statusText);
}
}
}
Código: Selecionar todos
<?php
header("Content-Type: text/html; charset=ISO-8859-1", true);
if(!empty($_GET["valor"]))
{
// O CAMPO VALOR CONTERÁ O QUE O USUARIO DIGITOU ATÉ O MOMENTO..
// CONECTA AO BANCO COLOCA PARAMENTROS IP,USUARIO,SENHA
include_once('conexao.php');
// EXECUTA A INSTRUÇÃO SELECT PASSANDO O QUE O USUARIO DIGITOU
$sql="select * from lista where nome like '%$_GET[valor]%'";
$resultado=mysql_query($sql) or die (mysql_error());
//VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS
$linhas=mysql_num_rows($resultado);
if($linhas>0){
//EXECUTA UM LOOP PARA MOSTRAR OS NOMES DAS PESSOAS
// VALE LEMBRAR QUE TODOS ESSES RESULTADOS SERAO MOSTRADOS DENTRO DA PAGINA INDEX.PHP
// DENTRO DO DIV 'PAGINA'
while($pegar=mysql_fetch_array($resultado))
{
echo "<hr>";
echo "<p style='font-weight: bold;'>$pegar[nome]</p>";
echo "<p style='font-weight: bold; color:#A1000F;'>$pegar[fone]</p>";
echo "$pegar[ende]<br />";
}
}
}
?>
<?php
function stringParaBusca($str){
//Transformando tudo em minúsculas
$str= trim(strtolower($str));
//Tirando espaços extras da string...
while (strpos($str," "))
$str = str_replace(" "," ",$str);
//Agora, vamos trocar os caracteres perigosos "ã, á..." ´pr coisas limpas "a"
$caracteresPerigosos =
array("ã","á","à","ä","â","é","è","ë","ê","í","ì","ï","î","õ","ó","ò","ô","ú","ù","ü","û","ç");
$caracteresLimpos =
array("a","a","a","a","a","e","e","e","e","i","i","i","i","o","o","o","o","o","u","u","u","c");
$str = str_replace($caracteresPerigosos,$caracteresLimpos,$str);
//Agora que não temos mais nenhu8m acento em nossa string, e estamos com ela toda em "lower",
//vamos montar a extressão regular para o MySQL
$caracteresSimples = array("a","e","i","o","u","c");
$caracteresEnvelopados = array("{[a]}","{[e]}","{[i]}","{[o]}","{[u]}","{[c]}");
$str = str_replace($caracteresSimples,$caracteresEnvelopados,$str);
$caracteresParaRegExp = array(
"(a|ã|á|à|ä|â|ã|á|à|ä|â|A|Ã|Á|À|Ä|Â|Ã|Á|À|Ä|Â)",
"(e|é|è|ë|ê|é|è|ë|ê|E|É|È|Ë|Ê|É|È|Ë|Ê)",
"(i|í|ì|ï|ê|í|ì|ï|î|I|Í|Ì|Ï|Î|Í|Ì|Ï|Î)",
"(o|õ|ó|ò|ö|ô|õ|ó|ò|ö|ô|O|Õ|Ó|Ò|Ö|Ô|Õ|Ó|Ò|Ö|Ô)",
"(u|ú|ù|ü|û|ú|ù|ü|û|U|Ú|Ù|Ü|Û|Ú|Ù|Ü|Û)",
"(c|ç|Ç|ç|Ç)");
$str = str_replace($caracteresEnvelopados,$caracteresParaRegExp,$str);
//Trocando espaços por .*
$str = str_replace(" ",".*",$str);
//Retornando a String finalizada!
return $str;
}
?>
Código: Selecionar todos
<?
//pagina para conectar no banco de dados
$mysql_servidor = "localhost"; // Seu servidor de mysql, normalmente é localhost.
$mysql_usuario = "lsteffler"; // Seu usuario no mysql.
$mysql_senha = "lsteffler"; // Sua senha no mysql.
$mysql_database= "novo"; // Seu banco de dados.
mysql_connect($mysql_servidor,$mysql_usuario,$mysql_senha) or die(mysql_error()); // Tenta conectar ao mysql, se falhar exibe o erro
mysql_select_db($mysql_database) or die(mysql_error()); // Tenta selecionar a base de dados, se falhar exibe o erro.
?>
Obs. estou tentando tdo localmente no momento.
Agradeço muitíssimo quem puder me auxiliar, abraços!