Ricardo Gonçalves Posted June 2, 2012 at 06:56 PM Report #459875 Posted June 2, 2012 at 06:56 PM (edited) Bom tarde, Na página que estou a desenvolver, pus uma opção de pesquisa, o problema que me está a dar é o seguinte se clicar em pesquisar e a input estiver vazia ele mostra todo o que houver na tabela selecionada e eu não quero isso, eu quero se for vazia quero que de mensagem que não encontrou nada. Como posso fazer isso? O código que estou a utilizar é o seguinte: <?php include 'config.php'; $search = $_POST[search]; $sql = "SELECT * FROM produtos WHERE descricao LIKE '%$search%' ORDER BY id_produto DESC "; $resultados = mysql_query($sql) or die (mysql_error()); $count = mysql_num_rows($resultados); if ($count == 0) { echo "A pesquisa efectuada não devolveu resultados. Por favor tente novamente com outros termos de pesquisa ou então efectue a navegação através do menu de Componentes, Computadores ou Marcas."; } else { if ($count == 1){ echo "A sua pesquisa encontrou 1 resultado"; } if ($count > 1){ echo 'A sua pesquisa encontrou <b>'.$count.'</b> resultados'; } } ?> cumps, Ricardo Gonçalves Edited June 3, 2012 at 12:21 PM by brunoais geshi!
pmg Posted June 2, 2012 at 07:01 PM Report #459877 Posted June 2, 2012 at 07:01 PM (edited) Não te esqueças de prevenir Injecções de SQL! $search = trim($_POST['search']); if ($search == '') { echo 'Preencha o campo de pesquisa.'; } else { /* ... o teu codigo ... */ } Edited June 2, 2012 at 07:02 PM by pmg What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Ricardo Gonçalves Posted June 2, 2012 at 09:33 PM Author Report #459891 Posted June 2, 2012 at 09:33 PM Obrigado e já agora quando vouy buscar os dados á BD como faço para ele buscar a imagem que na tabela tem o nome dela? é que eu eu já pus a fazer isso e ele não faz, e o código que eu pus para ele buscar á pasta para imprimir foi este: <th rowspan="2"><?php echo'<img src="images/produtos/'.$img.'" alt="'.htmlspecialchars($nome).'" width="128" height="128" />'; ?></th>
pmg Posted June 2, 2012 at 09:44 PM Report #459893 Posted June 2, 2012 at 09:44 PM Talvez usando uma barra extra para começar o path para as imagens na raiz do teu site: src="/images/..." Sem mais informações da tua parte é difícil adivinhar ... What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
HappyHippyHippo Posted June 2, 2012 at 09:52 PM Report #459895 Posted June 2, 2012 at 09:52 PM Talvez usando uma barra extra para começar o path para as imagens na raiz do teu site: src="/images/..." se bem me lembro o uso inicial do caracter '/' indica para ir buscar à raiz não do sistema operativo mas do site: exemplo: local no disco : /var/www/site/imagens/ local do site : /var/www/ url do site : http://servidor.com/site/ se src for igual a : /imagens/ irá tentar ler do : /var/www/imagens/ @Ricardo: tens de verificar estas informações: - local onde o ficheiro se encontra no disco - nome do ficheiro no disco - que informação tens na base de dados só com essa informação é que é possível dizer o que é necessário para resolver a tua situação IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
pmg Posted June 2, 2012 at 10:02 PM Report #459899 Posted June 2, 2012 at 10:02 PM se bem me lembro o uso inicial do caracter '/' indica para ir buscar à raiz [...] do site O que é que eu disse? 😉 What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
HappyHippyHippo Posted June 2, 2012 at 10:04 PM Report #459903 Posted June 2, 2012 at 10:04 PM O que é que eu disse? 😉 desculpa .. li mal .. a noite passada e dia foi difícil com a filha com febre IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Ricardo Gonçalves Posted June 2, 2012 at 11:59 PM Author Report #459934 Posted June 2, 2012 at 11:59 PM não, o caminho está certo porque tenho uma pasta que se chama images depois dentro dela ainda tenho outro pasta que se chama produtos
pmg Posted June 3, 2012 at 10:35 AM Report #459963 Posted June 3, 2012 at 10:35 AM Qual é a pasta onde está o ficheiro php? Qual é a pasta onde está a pasta "images"? É a mesma pasta? Se forem pastas diferentes, o caminho não está certo! What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Ricardo Gonçalves Posted June 3, 2012 at 11:44 AM Author Report #459970 Posted June 3, 2012 at 11:44 AM (edited) A minha pasta onde tenho as minhas páginas todas chama-se siterticardo dentro dela tenho o ficheiro que está em causa que dei o nome de pesquisar.php ainda nesta parte da pasta tenho uma pasta do que dou nome images dentro desta pasta ainda tenho outra pasta que dou de nome produtos e dentro desta pasta tenho as imagens todas que estão na BD. em relação ao pesquisar estar vazio ele dar a mesagem eu pus assim o código como está embaixo, está mal? <div class="corpo"> <?php include 'config.php'; $search = $_POST[search]; $sql = "SELECT * FROM produtos WHERE descricao LIKE '%$search%' ORDER BY id_produto DESC "; $resultados = mysql_query($sql) or die (mysql_error()); $count = mysql_num_rows($resultados); if ($count == 0) { echo "A pesquisa efectuada não devolveu resultados. Por favor tente novamente com outros termos de pesquisa ou então efectue a navegação através do menu de Componentes, Computadores ou Marcas."; } else { if ($count == 1){ echo "A sua pesquisa encontrou 1 resultado"; } if ($count > 1){ echo 'A sua pesquisa encontrou <b>'.$count.'</b> resultados'; } } if ($search == '') { echo 'Preencha o campo de pesquisa.'; } else { ?> <?php while ($linha = mysql_fetch_assoc($paginacao)) { extract($linha); ?> <div> <table border="1"> <tr> <th rowspan="2"><?php echo'<i Edited June 3, 2012 at 06:53 PM by scorch
pmg Posted June 3, 2012 at 12:04 PM Report #459974 Posted June 3, 2012 at 12:04 PM Ainda não estás preocupado com as injecções de SQL! Aconselho-te a que resolvas este problema antes dos demais. ~~~~~~~~ Aparentemente a estrutura de pastas está correcta para o teu código. O problema deve ser então noutro lado: talvez a variavel $img não tenha o que esperas que ela tenha. Experimenta imprimir o resultado do mysql_fetch_assoc() <?php while ($linha = mysql_fetch_assoc($paginacao)) { extract($linha); echo '<pre>'; print_r($linha); echo '</pre>'; ?> em relação ao pesquisar estar vazio ele dar a mesagem eu pus assim o código como está embaixo, está mal? Eu não faria assim; mas se funciona ... What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!
Ricardo Gonçalves Posted June 3, 2012 at 12:46 PM Author Report #459981 Posted June 3, 2012 at 12:46 PM Ainda não estás preocupado com as injecções de SQL! Aconselho-te a que resolvas este problema antes dos demais. ~~~~~~~~ injecções SQL? queres dizer a segurança? Aparentemente a estrutura de pastas está correcta para o teu código. O problema deve ser então noutro lado: talvez a variavel $img não tenha o que esperas que ela tenha. Experimenta imprimir o resultado do mysql_fetch_assoc() <?php while ($linha = mysql_fetch_assoc($paginacao)) { extract($linha); echo '<pre>'; print_r($linha); echo '</pre>'; ?> este código aqui em cima na página ele não está a imprimir nada . dá-me mal por isso que perguntei eu clico OK ele apresenta todo o que está na BD e dá este erro: Notice: Undefined variable: search in C:\xampp\htdocs\sitericardo\pesquisar.php on line 51 Use of undefined constant search - assumed 'search' in C:\xampp\htdocs\sitericardo\pesquisar.php on line 122
HappyHippyHippo Posted June 3, 2012 at 01:29 PM Report #459985 Posted June 3, 2012 at 01:29 PM (edited) Notice: Undefined variable: search in C:\xampp\htdocs\sitericardo\pesquisar.php on line 51 Use of undefined constant search - assumed 'search' in C:\xampp\htdocs\sitericardo\pesquisar.php on line 122 //$search = $_POST[search]; $search = $_POST['search']; Edited June 3, 2012 at 01:29 PM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
Ricardo Gonçalves Posted June 3, 2012 at 02:17 PM Author Report #459995 Posted June 3, 2012 at 02:17 PM //$search = $_POST[search]; $search = $_POST['search']; dá na mesma erro na 51 e ele diz-me quantos registos encontropu e não mostra quais
pikax Posted June 3, 2012 at 03:16 PM Report #460008 Posted June 3, 2012 at 03:16 PM (edited) primeiro fazes a pesquisa na BD e depois e' que fazes a verificacao se o search e' nulo? $search = $_POST["search"]; $sql = "SELECT * FROM produtos WHERE descricao LIKE '%$search%' ORDER BY id_produto DESC "; $resultados = mysql_query($sql) or die (mysql_error()); //... if ($search == '') { echo 'Preencha o campo de pesquisa.'; } else { mete um print_r, em vez da funcao(pelo o menos por enquanto) while ($linha = mysql_fetch_assoc($paginacao)) { print_r($linha); dá na mesma erro na 51 qual e' o erro de que ele se queixa?? Edited June 3, 2012 at 03:16 PM by pikax Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Ricardo Gonçalves Posted June 3, 2012 at 03:47 PM Author Report #460018 Posted June 3, 2012 at 03:47 PM (edited) o erro é este : Notice: Undefined variable: search in C:\xampp\htdocs\sitericardo\pesquisar.php on line 51 fiz o que me disses-te e já deu, Obrigado. Edited June 3, 2012 at 03:47 PM by Ricardo Gonçalves
brunoais Posted June 3, 2012 at 04:36 PM Report #460031 Posted June 3, 2012 at 04:36 PM está resolvido? "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
Ricardo Gonçalves Posted June 3, 2012 at 05:30 PM Author Report #460033 Posted June 3, 2012 at 05:30 PM ainda não porque dá esta tal erro da linha 51.
pikax Posted June 3, 2012 at 05:34 PM Report #460035 Posted June 3, 2012 at 05:34 PM (edited) ainda não porque dá esta tal erro da linha 51. Porque nao estas a enviar o 'search' no POST, para veres o que estas a enviar nos POST print_r($_POST); Edited June 3, 2012 at 05:34 PM by pikax Por muito mais que que estude só aprendo uma coisa, que ainda tenho muita coisa para aprender. A beleza de um código está em decompor problemas complexos em pequenos blocos simples. "learn how to do it manually first, then use the wizzy tool to save time." "Kill the baby, don't be afraid of starting all over again. Fail soon, learn fast."
Ricardo Gonçalves Posted June 3, 2012 at 05:52 PM Author Report #460036 Posted June 3, 2012 at 05:52 PM em relação ao definir a variável já está a dar agora uma questão neste código : <?php echo'<img src="images/produtos/'.$img.'" alt="'.htmlspecialchars($nome).'" width="128" height="128" />'; ?> tenho de definir a variável nome?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now