PI S6 DSW II DouglasARS: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Douglas
imported>Douglas
 
(12 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 23: Linha 23:
</center>
</center>


Para o texto não fique cansativo, vou procurar comentar apenas os trechos no código fonte que vou deixar disponível num único arquivo. Portanto, vou comentar apenas as partes que acho que poderão deixar dúvidas.
<blockquote style="background: #FFEEFF; border: 1px solid red; margin-left: 0px; margin-right: 0px; padding: 1em;">
Nota: Para que o texto não fique cansativo, vou procurar comentar apenas os trechos do código fonte que vou deixar disponível num único arquivo. Portanto, vou comentar apenas as partes que acho que poderão deixar dúvidas. Não esquecendo que vocês podem e devem fazer uso do Fórum Pergunte ao Professor, caso tenham alguma dúvida mais específica.
</blockquote>


A primeira dúvida que pode surgir é como chamar outro formulário a partir de um botão ou link. Neste trecho extraído de index.php mostra como podemos chamar outro formulário de duas maneiras.
A primeira dúvida que pode surgir é como chamar outro formulário a partir de um botão ou link. Neste trecho extraído de index.php mostra como podemos chamar outro formulário de duas maneiras.
Linha 92: Linha 94:
Neste trecho de código existe um campo chamado '''formulario''' oculto (''hidden''), que envia informações para o formulário '''cadastrando.php''' para identificar de qual formulário veio a requisição de cadastro. No caso do cadastro de cliente, esse código é 1. Existe também o comando '''foreach''' que monta o campo ''select'' a partir da varredura da variável $_uf para $valor.
Neste trecho de código existe um campo chamado '''formulario''' oculto (''hidden''), que envia informações para o formulário '''cadastrando.php''' para identificar de qual formulário veio a requisição de cadastro. No caso do cadastro de cliente, esse código é 1. Existe também o comando '''foreach''' que monta o campo ''select'' a partir da varredura da variável $_uf para $valor.


Abaixo uma parte código da página '''cadastrando.php'''.
Ao clicar no botão '''Salvar''' a página é desviada para salvar no banco as informações cadastradas. Abaixo uma parte código da página '''cadastrando.php'''.


<pre>
<pre>
Linha 104: Linha 106:
}
}
[...]
[...]
</pre>
Na página '''Cadastro de Cidades''' é possível chamar a consulta das cidades que já estão cadastradas, como uma página com a lista das cidades. O código abaixo representa o trecho do código da página '''listacidades.php'''.
<pre>
echo '<table border="1"  cellpadding="5" cellspacing="0" >';
echo '<tr><th style="background: #ffdead; text-align: center;">Código</th>';
echo '<th style="background: #ffdead; text-align: left;">Nome</th>';
echo '<th style="background: #ffdead;text-align: center;">UF</th></tr>';
while($exibe = mysql_fetch_assoc($sql)){


    echo '<tr><td style="text-align: center;">'.$exibe['id_cidade'].'</td>';
    echo '<td>'.$exibe['nm_cidade'].'</td>';
    echo '<td "text-align: center;">'.$exibe['uf'].'</td></tr>';
}
echo "</table>";
</pre>
</pre>
Observem que existe algumas definições sobre cores e formatos. Isto pode ser modificado utilizando o arquivo de estilos CSS. Basicamente o código monta uma tabela com o resultado da consulta SQL ao banco. Precisa ter cuidado com as ''tags'' do HTML, senão pode dar bastante dor de cabeça. O resultado da consulta pelas cidades já cadastradas pode ser vista na Figura 3.
[[Imagem:tela_3_s6.png|center]]
<center>
Figura 3 - Lista de Cidades - Sistema Exemplo.
</center>
==Download código fonte==
Já está postado como chamar os dados da tabela cidade no cadastro de cliente e outras pequenas alterações.
<span style="color:red;">Os códigos até aqui mencionados, estão no moodle no fórum de notícias.</span>


=Vídeos=
=Vídeos=
Linha 134: Linha 167:
! style="background: #32CD32;" | [[PI_S5_DSW_II_DouglasARS | << ]]
! style="background: #32CD32;" | [[PI_S5_DSW_II_DouglasARS | << ]]
! style="background: #1C1C1C; color: white;" | [[Douglas_DSW_II#Atividades | <> ]]
! style="background: #1C1C1C; color: white;" | [[Douglas_DSW_II#Atividades | <> ]]
! style="background: #32CD32;" | [[PI_S6_DSW_II_DouglasARS | >> ]]
! style="background: #32CD32;" | [[PI_S7_DSW_II_DouglasARS | >> ]]
|}
|}

Edição atual tal como às 15h02min de 22 de março de 2016

Apresentação

Olá Estudantes,

Nessa sexta semana, vamos mostrar como utilizar informações do banco de dados para compor os cadastros de níveis superiores. Por exemplo, vamos vão cadastrar cidades para depois cadastrar o cliente naquela cidade. Vamos também dar uma passada nas consultas e montagem do menu principal que vai fazer a ligação com os formulários.

Boa programação a todos!


Prof. Douglas A.

Objetivo

  • Apresentar um novo exemplo de Cadastro em PHP/MySQL com consulta no Banco de Dados.

Cadastro com Consulta PHP/MySQL

Existem várias maneiras se utilizar consultas para compor novos cadastros no PHP. Vou mostrar apenas alguns exemplos dos mais utilizados. Tudo isso já foi devidamente estudado nas unidades curriculares anteriores. Neste exemplo, vamos dar continuidade a partir dos formulários utilizados para segurança e cadastrar cidades, depois cadastrar o cliente que mora naquela cidade. Vamos criar uma lista com dados para serem escolhidos a partir de um vetor. Neste sentido, podemos recuperar, por exemplo, o cadastro de CEPs do Brasil inteiro, importar para o banco de dados, e executar essa mesma consulta utilizando o código postal. Lembrando que no novo cadastro o código da cidade vai ser a chave estrangeira que vai fazer a ligação com cidades, por exemplo. Aproveitamos também, para comentar os códigos que fazem as ligações com os formulários. A Figura 1 - mostra como ficou a tela de login para a sistema exemplo, mesmo utilizado na semana 6.

Tela 1 ds2 s6.png

Figura 1 - Tela de Entrada do Sistema Exemplo - Cadastro de Clientes.

Nota: Para que o texto não fique cansativo, vou procurar comentar apenas os trechos do código fonte que vou deixar disponível num único arquivo. Portanto, vou comentar apenas as partes que acho que poderão deixar dúvidas. Não esquecendo que vocês podem e devem fazer uso do Fórum Pergunte ao Professor, caso tenham alguma dúvida mais específica.

A primeira dúvida que pode surgir é como chamar outro formulário a partir de um botão ou link. Neste trecho extraído de index.php mostra como podemos chamar outro formulário de duas maneiras.

		<form name="cadclientes" action="cadclientes.php">
			<input type="submit" value="Cadastro de Clientes" style="width: 100%; min-width: 265px; height: 60px" />
		</form>
		<form name="cadcidades" action="cadcidades.php">
			<input type="submit" value="Cadastro de Cidades" style="width: 100%; min-width: 265px; height: 60px" />
		</form>
		<a href="login.php">Sair</a>

O código acima mostra o uso de input e submit para chamar outro formulário. E o próprio a href conhecido da linguagem HTML. Após clicar no botão Cadastro de Cidades vai aparecer a página do Sistema Exemplo que é mostrada na Figura 2.

Tela 2 ds2 s6.png

Figura 2 - Tela de Cadastro de Cidades - Sistema Exemplo.

Percebam que este formulário traz apenas dois campos. O campo nome (da cidade), do tipo texto com tamanho de 50. E também UF que aparece como combobox com uma lista das UFs previamente definidas (vetor de UFs).

No novo código funcoes.php, que deverá estar no diretório do sistema e ser chamada nos formulários que fizerem uso das suas funções e configurações, traz o seguinte trecho de código:

$_uf[""] = "UF";
$_uf[1] = "AC";
$_uf[2] = "AL";
$_uf[3] = "AP";
$_uf[4] = "AM";
$_uf[5] = "BA";
$_uf[6] = "CE";
$_uf[7] = "DF";
$_uf[8] = "ES";
[...]

Neste caso é criado o vetor $_uf que vai abrigar o conjunto (27) de unidades de federação (UF) que temos no Brasil.

Para montar o comobobox com a lista de opção é preciso fazer:

[...]
include("funcoes.php");
[...]

		<form name="cadcidades" method="post" action="cadastrando.php">
                   <input name="formulario" type="hidden" value="1" />

			Nome: <input type="text" name="nm_cidade" size="50" />
			<select name="uf">
        		<?php
        			foreach($_uf as $valor) {
                		echo "<option>$valor</option>";
        		}
        		?>
        		</select>
			</br>

			<input type="submit" value="Salvar" />
			
		</form>
[...]

Neste trecho de código existe um campo chamado formulario oculto (hidden), que envia informações para o formulário cadastrando.php para identificar de qual formulário veio a requisição de cadastro. No caso do cadastro de cliente, esse código é 1. Existe também o comando foreach que monta o campo select a partir da varredura da variável $_uf para $valor.

Ao clicar no botão Salvar a página é desviada para salvar no banco as informações cadastradas. Abaixo uma parte código da página cadastrando.php.

[...]
if($_POST["formulario"]==1){ // Cadastro de Cidades

	$nm_cidade=$_POST['nm_cidade'];
	$uf=$_POST['uf'];
	$sql = mysql_query("INSERT INTO cidades(nm_cidade,uf) VALUES('$nm_cidade','$uf')");

}
[...]

Na página Cadastro de Cidades é possível chamar a consulta das cidades que já estão cadastradas, como uma página com a lista das cidades. O código abaixo representa o trecho do código da página listacidades.php.


echo '<table border="1"  cellpadding="5" cellspacing="0" >'; 
echo '<tr><th style="background: #ffdead; text-align: center;">Código</th>';
echo '<th style="background: #ffdead; text-align: left;">Nome</th>';
echo '<th style="background: #ffdead;text-align: center;">UF</th></tr>';


while($exibe = mysql_fetch_assoc($sql)){

    echo '<tr><td style="text-align: center;">'.$exibe['id_cidade'].'</td>';
    echo '<td>'.$exibe['nm_cidade'].'</td>';
    echo '<td "text-align: center;">'.$exibe['uf'].'</td></tr>';
}
echo "</table>";

Observem que existe algumas definições sobre cores e formatos. Isto pode ser modificado utilizando o arquivo de estilos CSS. Basicamente o código monta uma tabela com o resultado da consulta SQL ao banco. Precisa ter cuidado com as tags do HTML, senão pode dar bastante dor de cabeça. O resultado da consulta pelas cidades já cadastradas pode ser vista na Figura 3.

Tela 3 s6.png

Figura 3 - Lista de Cidades - Sistema Exemplo.

Download código fonte

Já está postado como chamar os dados da tabela cidade no cadastro de cliente e outras pequenas alterações.

Os códigos até aqui mencionados, estão no moodle no fórum de notícias.

Vídeos

Organização da Semana 7

Nesta sexta semana apresentamos como construir cadastros com consulta e utilizar essas informações para compor outros cadastros a partir das chaves primárias. Vimos também como fazer uma consulta ao banco de dados e apresentar essa consulta na tela. Na próxima semana vamos dar uma paradinha para que vocês consigam dar continuidade ao desenvolvimento do sistema de vocês, e por esse motivo, teremos um chat e não um encontro com novos conteúdos. Continuem postando suas dúvidas e exemplos no Fórum Pergunte ao Professor.

Um abraço,

Bom trabalho!

Prof. Douglas A.

Referências

[1] <http://www.devmedia.com.br/php-e-mysql-conectando-e-exibindo-dados-de-forma-rapida-dica/28526>

[2] <http://pt-br.html.net/tutorials/php/lesson20.php>



<< <> >>