Jump to content


Fernando C

Member Since 27/09/2004
Offline Last Active 16/03/2017, 09:33
***--

#1022217 Busca Simples Com Pdo E Mysql 2 - Utilizando “links”

Posted by Fernando C on 23/06/2015, 10:30

Nesta seção já postamos um tutorial de como fazer uma busca simples usando um formulário http://forum.wmonlin...m-pdo-e-mysql/;agora veremos como fazer uma aplicação semelhante utilizando “hiperlinks” (estas aplicações são conhecidas também como “páginas de detalhes”). Vamos usar a mesma tabela de “amigos”.

Etapa I – página de listagem geral

1.    O primeiro passo é criar os “links”. Use o código a seguir para a conexão:

<?php
 try {
    $con = new PDO('mysql:host=XXX;dbname=XXX', 'root', 'XXX');
 } catch (PDOException  $e) {
    print $e->getMessage();
 }

2.    Substitua, acima, os triplos X (“XXX”), pelo caminho do banco de dados (se estiver em seu computador, normalmente é “localhost” sem aspas), nome do banco e senha (se for o caso, substitua também "root" pelo nome do usuário).
3.    Agora vamos consultar o banco de dados e recuperar os ids e nomes dos amigos:

$stmt = $con->prepare("select id, nome from amigos”);
$stmt->execute();
while($reg = $stmt->fetch(PDO::FETCH_OBJ))
{
echo $reg->id." - ";
echo $reg->nome."<br />";
}

?>

4.    Teste no navegador; já deverá surgir uma lista assim:

Attached File  amigos-1.jpg   27.67KB   0 downloads

5.    agora vamos criar os “hiperlinks” (neste tuto, vamos usar os nomes), inserindo código HTML. Para isso, troque a linha :

 

echo $reg->nome."<br />";


por essa:

echo"<a href='detalhes-amigos.php?id=$reg->id'>$reg->nome</a><br/ >";

6.    Salve e atualize no navegador, note que ao pousar o mouse sobre um nome, já deverá aparecer seu “id” correspondente:

Attached File  amigos-2.jpg   41.48KB   0 downloads

Etapa II – a página de detalhes

7.    Agora vamos criar a página que vai exibir os detalhes do amigo selecionado; é bem simples. Começamos, como sempre, com os dados da conexão (v. item 1, acima) echo $reg->id." - "; e, a seguir, declaramos uma variável que recebe o “id” passado pela página anterior:

$id=$_GET['id'];

8. Agora é só executar a pesquisa no banco de dados, lembrando de definir a variável, na linha de baixo:

$stmt = $con->prepare("select * from amigos where id=?");
$stmt->bindParam(1, $id);

8.    Acrescente as linhas a seguir para exibir os resultados:

$stmt->execute();
while($reg = $stmt->fetch(PDO::FETCH_OBJ))
{
echo $reg->id." - ";
echo $reg->nome." - ";
echo $reg->email."<br />";
}

?>

9.    Salve e teste no navegador; sua busca por “hiperlinks” já deverá estar funcionando corretamente.

 




#1021493 Formulário dinâmico com PHP e Mysql

Posted by Fernando C on 10/02/2015, 10:15

Às vezes, precisamos inserir vários registros num banco de dados numa operação só (por exemplo, um cadastro de alunos, de candidatos etc.). Em vez de repetir a tediosa tarefa de recarregar o mesmo formulário várias vezes, neste tutorial vamos conhecer uma forma simples de definir, antes de carregar o formulário de cadastros, quantos registros vamos inserir e então já carregar o formulário “pronto”.
O primeiro passo é criar um formulário prévio bem simples, para definirmos quantos registros vamos inserir; o código segue abaixo:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<p>Escolha quantos registros ser&atilde;o inseridos:</p>
<form name="form1" method="post" action=" form_dinam.php ">
  <label>
  <input name="cx" type="text" id="cx" size="10">
  </label>
&nbsp;&nbsp;
<label>
<input type="submit" name="Submit" value="Submit">
</label>
</form>
<p>&nbsp;</p>
</body>
</html>

Observe que o formulário acima envia informações a uma 2ª página, a "form_dinam.php", que vamos criar no próximo passo.

Agora copie o código da página "form_dinam.php", substituindo os 3 “X” abaixo pelos seus dados:
 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>teste formulario dinamico</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<?php

$conecta = mysql_connect("XXX", "XXX", "XXX") or print (mysql_error());
mysql_select_db("mural", $conecta) or die(mysql_error());

$hd=$_POST['hd'];
  if ($hd) {
    $my_matricula = $_POST['matricula'];
    $my_nome = $_POST['nome'];
    $tamanho = count($my_matricula)-1 ;
    for ($f=0 ; $f <= $tamanho ; $f++) {
      $sql = mysql_query("insert into XXX(matricula,nome) VALUES (\"".$my_matricula[$f]."\",\"".$my_nome[$f]."\")") or die(mysql_error());
      
      }
      if($sql){
      echo ($tamanho+1)." registros incluidos" ;
      }
    
  } else {

$numcaixas= $_POST['cx'];
    //define(NUM_CAIXAS,3) ;

    echo "<form name=\"form1\" method=\"post\" action=\"\">" ;
    echo "<pre>" ;
    for ($f=1 ; $f <= $numcaixas ; $f++) {
      echo "Matricula$f : " ;
      echo "<input type=\"text\" name=\"matricula[]\"><br>";
      echo "Nome$f      : " ;
      echo "<input type=\"text\" name=\"nome[]\"><br><br>" ;
    }
    echo "</pre>" ;
    echo "  <input name=\"hd\" type=\"hidden\" value=\"1\">" ;
    echo "  <input type=\"submit\" name=\"Submit\" value=\"Submit\">" ;
    echo "</form>" ;
  }
?>
</body>
</html>

O código acima insere 2 campos: “matricula” e “nome” de alunos, como exemplo. Seu formulário dinâmico já estará funcionando corretamente, inclusive informando quantos registros foram inseridos.

Fonte: PHP e MySQL – Guia avançado, Claudio Adonai Muto, ed. Brasport, pgs. 109/110.
 




#1021032 Pesquisa Avançada Em Asp Clássico

Posted by Fernando C on 19/11/2014, 09:15

I – Configurando o banco de dados

Neste tutorial, vamos criar uma página de consultas avançadas por vários critérios com o tema “futebol”, onde poderemos fazer buscas pelo jogador ou time ou posição que coincidam com parte de uma palavra.

1. O primeiro passo é criar 3 tabelas: tbjogador (id_jogad, nome_jogad, clube, posicao), tbclubes (id_clube, nome_clube), tbpos (id_pos, pos). Neste tuto, para facilitar, usaremos apenas as posições: goleiro (id 1), lateral (id 2), meio de campo (id 3) e atacante (4). Os campos com “id” seguido por sublinhado (“id_*”) serão chaves primárias; na tabela tbjogador, as colunas “clube” e “posicao” deverão ser do tipo número; as demais são do tipo texto. Insira alguns registros.

2. O próximo passo é criar os relacionamentos (no Access 2007, Ferramentas de bancos de dados – Relações). Adicione as 3 tabelas, arraste o id do clube p/ a coluna “id_clube” da tabela “jogador” e, a seguir, arraste id_pos da tbpos para a coluna posicao da tabela jogador; confirme em “Criar”.

3. Vamos fazer agora duas consultas no Access mesmo p/ confirmar se os relacionamentos estão ok. Abra 1 nova consulta (Criar – Design da consulta) e adicione as 3 tabelas, alterne para o modo SQL (botão direito sobre a aba “Consulta 1”) e veja que já está pronto um “esqueleto” de uma consulta juntando as três tabelas. Nesta 1ª consulta, vamos relacionar os jogadores do time 1 que sejam goleiros (posição “1”); para isso, a consulta que estará assim:

SELECT
FROM tbpos INNER JOIN (tbclubes INNER JOIN tbjogador ON tbclubes.id_clube = tbjogador.clube) ON tbpos.id_pos = tbjogador.posicao;

Deixe assim:

SELECT *
FROM tbpos INNER JOIN (tbclubes INNER JOIN tbjogador ON tbclubes.id_clube = tbjogador.clube) ON tbpos.id_pos = tbjogador.posicao where id_pos=1;

4. Execute e retorne para o modo SQL. Salve a consulta, se quiser, ou teste outras posições. A seguir, vamos relacionar os jogadores de um time determinado; também é muito simples; troque a consulta acima pela seguinte:

SELECT *
FROM tbpos INNER JOIN (tbclubes INNER JOIN tbjogador ON tbclubes.id_clube = tbjogador.clube) ON tbpos.id_pos = tbjogador.posicao where id_clube=3;

Novamente, se desejar, alterne o id do clube à vontade.

II - Consultas com “like”

5. Agora, como dito antes, nossa página não fará essas consultas por termos exatos; e sim faremos a busca por parte de palavras. Caso queira testar esse tipo de consulta no Access, crie uma nova consulta, adicione as tabelas como explicado acima e teste essa instrução:

SELECT tbjogador.nome_jogad, *
FROM tbclubes INNER JOIN (tbpos INNER JOIN tbjogador ON tbpos.id_pos = tbjogador.posicao) ON tbclubes.id_clube = tbjogador.clube
WHERE (((tbjogador.nome_jogad) Like "*XXX*"));

6. Substitua os três “X” acima por parte de uma palavra (pode ser uma letra, duas, três..) caso exista algum nome de jogador com a(s) letra(s) indicada(s), a consulta retornará corretamente. Caso deseje, substitua o critério pelo nome de um clube ou pela posição. Outro exemplo: caso queira consultar quais jogadores são “goleiro”, construa a consulta assim:

SELECT tbpos.pos, *
FROM tbclubes INNER JOIN (tbpos INNER JOIN tbjogador ON tbpos.id_pos = tbjogador.posicao) ON tbclubes.id_clube = tbjogador.clube
WHERE (((tbpos.pos) Like "*g*"));

III - A página ASP

7. Crie uma nova pg ASP; na 1ª linha, insira esse comando:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>

8. A seguir, um formulário simples em HTML:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>BuscaFutebol teste</title>
</head>

<body>
<p>Pesquise por parte do nome do jogador, do clube ou posição:</p>

<form name="form1" method="post" action="">
  <label>Nome:
  <input type="text" name="cxpalavra">
  </label>
  
  <select name="combocriterio">
        <option value="nome_jogad">Jogador</option>
	<option value="nome_clube">Clube</option>
	<option value="pos">Posição</option>
  </select>
<br />
<br />
<label>
<input type="submit" name="Submit" value="pesquisar">
</label>
</form>

9. Agora os comandos em ASP para capturar as palavras do formulário:

        1. <%
	2. dim palavra, criterio
	3. palavra=request.form("cxpalavra")
	4. criterio=request.form("combocriterio")

	5. response.write palavra&" - "
	6. response.write criterio&"<br />"

	7. %>

10. Feche o código HTML:

</body>
</html>

11. Teste essa página no navegador. Caso tudo esteja ok você verá que os termos digitados na caixa de busca e no menu “select” serão exibidos. Caso prefira, pode comentar ou apagar as linhas 5 e 6, acima (as que começam com “response.write”).

12. Agora vamos estabelecer uma conexão ao banco de dados, definir a nossa pesquisa e um conjunto de registros que correspondam à ela. Para isso acrescente, na linha que começa com a palavra “dim”, acima, duas variáveis; a 1ª vamos utilizar para a conexão e a 2ª para o conjunto de registros; neste tuto, essas variáveis se chamarão “conex” e “rs”, sem aspas; a linha ficará assim:

dim palavra, criterio, conex, rs, consulta

13. A seguir, após as linhas 3 e 4, acima, insira o seguinte código:

set conex=Server.CreateObject("ADODB.Connection")
conex.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:\inetpub\wwwroot\testeASP\XXX.mdb"

Set rs = Server.CreateObject("ADODB.Recordset")

if(palavra <> "") then
consulta="SELECT tbjogador.nome_jogad, tbclubes.nome_clube, tbpos.pos FROM tbpos INNER JOIN (tbclubes INNER JOIN tbjogador ON tbclubes.id_clube = tbjogador.clube) ON tbpos.id_pos = tbjogador.posicao where "&criterio&" like '%"& palavra &"%' order by nome_jogad"

rs.Open consulta, conex

Do while not rs.EOF
response.write rs.Fields("nome_jogad")&" - "
response.write rs.Fields("nome_clube")&" - "
response.write rs.Fields("pos")&"<br />"
rs.MoveNext
loop

14. Substitua os "XXX" acima pelo nome do seu arquivo e verifique o caminho; a seguir, acrescente as seguintes linhas para fechar a conexão:

rs.Close()
Set rs = Nothing

15. E as linhas a seguir para fechar o “IF” acima:

else
response.write " "
end if

16. Teste no navegador; sua busca avançada já estará funcionando corretamente.


#1016943 Values Em Options(Combo Dinâmico)

Posted by Fernando C on 13/02/2012, 11:21

postei tbm na sessão de Java

se a duvida é sobre javascript, o forum correto é esse:
http://forum.wmonlin...jax-ecmascript/


#1000566 [Resolvido] Inserir Vetores Do Ai Num Documento Do Dw

Posted by Fernando C on 21/06/2010, 10:08

No AI, exportar (ou salvar como ) - 1 formato grafico (jpg, gif, png) - salve numa pasta do seu site.
no Dream - inserir imagem (ou Insert - Image) - dpois transfira p/ a pasta hospedada p/ ftp ou pelo dreamweaver mesmo, sempre checando apos hospedar (a pagina e a imagem) c o link estara correto.


#996478 [Resolvido] Criar Link Em Asp Usando Access

Posted by Fernando C on 15/03/2010, 10:04

Carlos Gomes, bem vindo ao forum..

O problema não deve ser o código ASP, mas sim é 1 bug do Access.
Vc deve estar usando o tipo de dado "Hiperlink"; infelizmente isso não funciona fora do MS Office..

Vc deverá salvar esses dados como texto mesmo, ok?


#995986 Arquivo De Conexão

Posted by Fernando C on 05/03/2010, 11:06

Teixeira, bem vindo ao forum..

1. inicialmente, verifique se realmente o IIS está instalado e ativado - digite http://localhost na barra de nedereço do Internet Explorer e pressione enter;

2. se realmente vc deseja aprender ASP, deixe o dreamweaver d lado - por enquanto pelo menos - isso principalmente pq o programa gera alguns codigos automaticamente e isso fatalmente ira + t confundir do q ajudar.. 1 sugestão é bloco d notas mesmo;

3. há alguns macetes p/ configurar 1 site, tanto no IIS como no dreamweaver, exemplos: vc precisa dar permissões de leitura e escrita na pasta e no arquivo onde está o banco de dados (p/ isso vc vai usar o IIS e o Winodws Explorer). P/ criar 1 conexão c/ o Dreamweaver, ja q vc já criou a conexão ODBC vc vai criar a 1 conexão "exclusiva" dentro do dreamweaver usando o recordset (como vc mesmo já verificou), mas essa tela tem algumas manhas tb.. mas ahe é outra area, ok?

há umas dicas otimas aqui mesmo no forum p/ quem está começando c/ ASP; verifique:

http://forum.wmonlin...toriais-de-asp/

e tem esse especifico sobre conexões:
http://forum.wmonlin...banco-de-dados/

ja sobre Dreamweaver:
http://forum.wmonlin...om-dreamweaver/

http://forum.wmonlin...vro-de-visitas/

principalmente itens 17 e 19


#994908 Microsoft Report Viewer

Posted by Fernando C on 20/02/2010, 17:14

Ola, Perseu

rapaz, eu é q peço desculpa pela explicação tosca..
eu tb estou so começando em Asp.net..

mas caso mais alguem tenha essa dúvida, Group by é 1 comando p/ o banco de dados reunir (agrupar) o resultado da consulta sob 1 determinado criterio (um campo, no caso).

Bom, qqer coisa disponha ta?


#994900 Microsoft Report Viewer

Posted by Fernando C on 20/02/2010, 15:25

Perseu, tente adicionar na consulta:
Group by Resultado;
qqer coisa, retorne.


#992074 Problemas Com Acentos, Til E Cedilha

Posted by Fernando C on 14/01/2010, 13:56

ola.. só complementando:
a alteração pelo código somente vai valer p/ a pagina atual
(em edição naquele momento).

c preferir configurar o Dreamweaver p/ q todas as novas pgs já sejam criadas c/ essa configuração acione Ctrl+U (ou edit- preferences);
em New Document - Default encoding - altere p/ "Europeu ocidental".


#990905 Botões Com Submenus

Posted by Fernando C on 28/12/2009, 12:09

Klayton, não localizei os botões a q vc c referiu..

enfim, c quiser tentar segue 1 possibilidade, usando apenas Dreamweaver 8 (e 1 pouquinho d codigo):

p/ criar o menu principal (horizontal):

1. acione Snippets - Horizontal - "outlined boxes with links";

2. substitua as palavras "Lorem", Ipsum" etc. e formate as cores e fontes (letras) como preferir usando a barra inferior “properties”;

3. agora p/ criar o efeito de alterar a cor de fundo do menu ao passar o mouse eu utilizo 1 código q descobri aqui: http://www.htmlstaff...p?showtopic=781 p/ isso, exiba o modo código (ou split);
no código das células da tabela, insira o seguinte comando:

onMouseOver="bgColor='#C0C0C0'" onMouseOut="bgColor='#0066FF'" 
ficaria assim (atenção às aspas antes da palavra "Width"):

<td onMouseOver="bgColor='#C0C0C0'" onMouseOut="bgColor='#0066FF'"width="20%" align="center"><a href="#">Lorem</a></td>
adapte os códigos das cores cf sua preferência.

agora c achar + facil pode acionar apenas o modo Design, selecione o primeiro "Link" e Shift+F4 (ou Window - Behaviors) e acione "Show pop up menu";

agora va formatando os submenus como preferir; só p/ adiantar:

- na 1ª tela "Contents" vc define os termos e os links (quais pgs serão abertas);

- na 2ª "Appearance" vc define o visual geral do submenu - no teu exemplo, será "vertical menu", abaixo defina as fontes e cores;

- na 4ª ("Position") vc pode posicionar exatamente o submenu em relação ao item do menu superior; no teu exemplo, selecione a 2ª opção: "Below and left edge of trigger".

veja c isso t ajuda; qqer coisa retorne.


IPB Skin By Virteq