A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa

PHP + MySQL

Sex

1

Dez

2006


21:25

(33 votos, média 4.24 de 5) 


Criando páginas dinâmicas

Antes de entrar de sola neste assunto, tem um recado muuuuito importante da vó:

vovo NÃO SE ESQUEÇA de deletar o arquivo teste.php do seu servidor. Este nome é muito manjado e, além do mais, seu nome de usuário e senha de acesso para o banco de dados estão lá dando sopa. Se alguém resolver chamar esta página um zilhão de vezes, sua base de dados vai ficar recheada com um zilhão de registros.

Mas vamos ao que interessa. Uma vez que a base de dados está prontinha para ser usada, vamos usá-la! Vou dar um exemplo bem fácil do que é possível fazer.

Quando o assunto é álbum, logo se pensa em troca de figurinhas. Digamos que você queira colocar no seu site as figurinhas que tem para trocar. Neste caso seria interessante que você pudesse ir adicionando/editando suas figurinhas repetidas, indicando quais são e quantas estão disponíveis.

Buscando uma figurinha

Para adicionar figurinhas repetidas à base de dados, vamos criar uma página que permita incluir ou atualizar registros. Para isto usaremos um formulário de entrada e, para facilitar as coisas, a referência será o número da figurinha. Como esta será uma página administrativa, vou chamá-la de adminCromo.php.

Administração de Figurinha </head> <body> <h2>Administração das minhas figurinhas</h2> <br> <form action="editaCromo.php" method="POST"> <input type="text" name="nro"> <input type="submit" value="Ver"> </form> </body> </html>

Esta página possui um formulário que apresenta uma caixa de texto onde você indica o número da figurinha e um botão [Ver]. Ao clicar no botão, é chamada uma outra página que se chama editaCromo.php.

Mostrando uma figurinha

Na página editaCromo.php será feita a conexão com a base de dados, uma procura na tabela craques e os resultados serão mostrados num outro formulário.

<head> <title>Administração de Figurinhas</title> </head> <body> <h2>Figurinha Número <? echo $nrofig; ?></h2> <br> <form action="atualizaBD.php" method="POST"> <input type="text" name="nome" value="<? $nome ?>"> <input type="text" name="clube" value="<? $clube ?>"> <input type="text" name="numero" value="<? $numero ?>"> <input type="text" name="disp" value="<? $disp ?>"> <input type="submit" value="Atualizar"> </form> </body> </html>

Logo no começo da página, entre as linhas 8 e 21, criamos uma área de PHP. A primeira providência foi pegar o número da figurinha enviado pela página anterior e atribuí-lo à variável $nrofig. Depois fizemos uma conexão com o banco de dados, ativamos a base de dados albuns, procuramos pelo registro cujo valor do campo numero é igual ao número da figurinha e fechamos a conexão. O registro encontrado ficou armazenado no array $resultado.

Logo a seguir, passamos os valores dos campos para variáveis e as usamos para criar o formulário. Se a procura não encontrar nenhum registro (a figurinha número $nrofig ainda não foi adicionada), os campos do formulário estarão vazios e precisam ser preenchidos. Caso contrário, os campos do formulário mostram os valores encontrados na base de dados e podem ser editados. Se você indicar o número 1, verá os dados da figurinha do Pelé e que há 3 figurinhas disponíveis. O botão [Atualizar] nos leva para a página seguinte onde a base de dados será atualizada.

Atualizando a base de dados

O formulário da página editaCromo.php nos remete à página atualizaBD.php. Esta página será novamente uma página híbrida, meio PHP e meio HTML.

<head> <title>Administração de Figurinhas</title> </head> <body> <h2>Atualização da Base de Dados</h2> <?php $nome = $_POST["nome"]; $clube = $_POST["clube"]; $numero = $_POST["numero"]; $disp = $_POST["disp"]; $conexao = mysql_connect( 'localhost', 'vovoVicki', 'senha123' ) or die( 'Erro de conexão com o MySQL' ); mysql_select_db('albuns'); $query = 'SELECT * FROM craques WHERE numero=' . $numero; $resultado = mysql_query( $query ); $tem = mysql_numrows( $resultado ); if( $tem ) { $query = 'UPDATE craques SET nome=' . $nome . ' clube=' . $clube . ' disp=' . $disp . ' WHERE numero=' . $numero; } else { $query = 'INSERT INTRO craques VALUES ('. $nome . ', ' . $clube . ', ' . $numero . ', ' . $disp . ')'; } $sucesso = mysql_query( $query ); if( $sucesso ) echo 'Base de Dados atualizada com sucesso'; else echo 'A Base de Dados não pode ser atualizada'; mysql_close( $conexao ); ?> <br> <a href="/adminCromo.php">Voltar</a> </body> </html>

A primeira providência foi passar os valores enviados pelo POST do formulário editaCromo.php para variáveis PHP. Em seguida, fizemos uma conexão com a base de dados e colocamos uma query buscando o número da figurinha. O resultado desta pesquisa foi para o array $resultado. Com a função mysql_numrows passamos o número de linhas do array para a variável $tem. Se o número de linhas for diferente de zero, então precisamos apenas atualizar os dados; se for igual a zero, é preciso inserir um novo registro. Depois de montar as queries de acordo com o resultado $tem, a query adequada é utilizada. O resultado da query, por sua vez, é armazenado na variável $sucesso para poder dar o aviso correto ao administrador.

Fechamos o banco de dados e colocamos um link para poder voltar à primeira página da administração para começar tudo novamente.

Informações adicionais