• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Zeus[x]

[Resolvido] pesquisar

7 mensagens neste tópico

Ola a todos!

Estou a fazer um trabalho para a escola e estou com algumas duvidas no pesquisar, apesar de ja ter lido por aqui alguns topicos a verdade e que nao encontrei nada que me resolvesse os problemas. Os meus conhecimentos de php sao muito basicos, é uma cadeira de curso e tenho que a fazer, mas de longe perceber bem esta linguagem, por isso, tentem ser o mais especifico possivel.

1- Se tiver a textbox vazia e clicar em pesquisar, aparece a lista completa da tabela.

2- Se procurar por mais que uma palavra, tipo, ola mundo, nao encontra nada, apenas encontra se for so uma palavra.

Toda a ajuda é bem vinda. obrigado a todos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

1. Podes fazer algo do tipo:

if (strlen($_POST['valor']) == 0) {
$query = "SELECT * FROM tabela";
//mostrar tudo
}

2. Experimenta:

if (ereg(" ", $_POST['valor']) {
echo "So pode por uma palavra!";
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
if(empty($_POST['valor'])){
$query = "SELECT * FROM tabela";
}

if(strstr($_POST['valor'], '')){
echo "Só pode pôr uma palavra";
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em primeiro, obrigado pelas duas respostas, mas acho k me me expliquei mal,

nao quero que aparece a lista completa ao clicar com o textbox vazia, e gostava que fosse possivel pesquisar com mais do que uma palavra e nao uma, como esta agora. esse sao os dois problemas que tenho.

entretanto vou tentar aproveitar essas respostas para ver se dou um jeito.

Obrigado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
if(empty($_POST['valor'])){
echo "Escolha uma palavra";
}
//----------------------

$valor = mysql_real_escape_string($_POST['valor']);

$sql = "SELECT * FROM tabela WHERE campo = '".$valor."'";
//ou
$sql = "SELECT * FROM tabela WHERE campo LIKE '%".$valor."%'";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

primeiro problema resolvido!

Obrigado aos dois!

Agora, para poder procurar por mais do que uma palavra, do genero, "ola mundo" ainda nao entendi bem com fazer isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens ali o segundo $sql. Se meteres na textbox "ola mundo", a query vai ser:

SELECT * FROM tabela WHERE campo LIKE '%ola mundo%'

Ou seja, vai-te devolver todas as colunas das linhas onde a coluna campo seja *ola mundo* (ou seja, que tenha "ola mundo" lá).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora