Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

feagr

Exibir resultado de busca php em formulário html

Recommended Posts

Fala galera, olha eu aqui de novo ...
Tô aprendendo php ainda, então de vez em quando fico presa em alguma coisa ...

Minha dúvida é a seguinte: em uma determinado momento no sistema que tô tentando desenvolver(trabalho da faculdade) o usuário irá realizar uma busca e o o resultado dessa busca deve preencher um formulário que está na mesma página, pra o usuário conferir as informações retornadas e excluir ou alterar, no caso do código abaixo é excluir.
A busca tá funcionando direitinho, coloquei um echo só pra testar se tava retornando a informação certa, por enquanto. Mas não consegui pensar em um jeito de colocar as informações retornadas em seus respectivos campos, bonitinhas como devem ser, com o css funcionando bonitinho como o form tá antes de preencher.

No arquivo html existem dois forms, um pra realizar a busca e o outro seria pra receber as informações retornadas. O action de ambos os forms são pro mesmo arquivo php (o verificaW.php), nele por enquanto só tem a função de busca.

Arquivo html (excluirW.html):

<div id="login">
<h1 class="excluir" >Buscar Workshop</h1>
<form id="formEx" action="_php/verificaW.php" method="post" enctype="multipart/form-data">
<ul class="login">
<li class="excluir">
<label class="excluir"> 
<span class="excluir">Buscar*: </span>
<input type="text" placeholder="Workshop" class="input_ex" name="buscar" id="name" maxlength="200"/>
<input class="inButtonEx" type="submit" name="btBuscar" value="Buscar" />
</label>
</li>
</ul>
</form>
</div>
 
<div id="cadUsuario">
<h1>Dados do Workshop</h1>
<form id="form" action="_php/verificaW.php" method="post" enctype="multipart/form-data">
<ul class="cadastro">
<li class="cadastro">
<label> 
<span>NOME*: </span>
<input type="text" readonly="true" class="input_cad" name="nome" id="name" maxlength="200"/>
</label>
<label> 
<span>ÁREA*: </span>
<select size="1" name="selectArea" class="select">
<option selected value="Selecione">Selecione...</option>
</select>
</label>
 
<label> 
<span>ANO*: </span>
<input type="text" readonly="true" class="input_cad" name="ano" id="ano" maxlength="9"/>
</label>
<label> 
<span>DATA DE INÍCIO*: </span>
<input type="text" readonly="true" class="input_cad" name="dataini" id="dataini maxlength="200"/>
</label>
 
<label> 
<span>DATA DE TERMINO*: </span>
<input type="text" readonly="true" class="input_cad" name="datafim" id="datafim" maxlength="15"/>
</label>
 
<label> 
<span>UNIDADE*: </span>
<select size="1" name="selectUnidade" class="select">
<option selected value="Selecione">Selecione...</option>
</select>
</label>
 
</li>
<li class = "botoesCad">
<label class = "botoesUsuario">
<input class="inButton" type="submit" name="btExcluir" value="Excluir" />
</label>
</li>
</ul>
</form>
</div>

Arquivo php (verificaW.php):

<?php
	/*session_start();*/
	require 'conexao.php';
	
	switch (get_post_action('btBuscar', 'btExcluir')) {
		case 'btBuscar':
			buscarWorkshop();
			break;

		case 'btExcluir':
			echo "Excluir clicado";
			break;
			
		default:
			echo "Ocorreu um erro inesperado.";
	}
	
	function get_post_action($name){
		
		$params = func_get_args();

		foreach ($params as $name) {
			if (isset($_POST[$name])) {
				return $name;
			}
		}
	}

	function buscarWorkshop(){
		$busca = $_POST['buscar'];
		
		$select = "select * from workshop where idworkshop='$busca'";
		$resBusca = mysql_query($select);
		
		while($row = mysql_fetch_array($resBusca)){
			echo "Resultado: ".$row[nome];
		}
	}
?>

Tá aí, galera...

 

Agradeço desde já :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei um post daqui msm.

http://forum.imasters.com.br/topic/398000-resolvidoformulario-pre-preenchido-em-php/

Se voce quiser da uma olhada mas eu nao li tudo.

 

E também tem aquelas soluções java script. Nao vou citar pq eu nao sei tbm. (╯°□°)╯︵ ┻━┻

http://br.ccm.net/faq/8969-javascript-apagar-um-campo-de-formulario-durante-o-clique-foc

Compartilhar este post


Link para o post
Compartilhar em outros sites

no formulario que será preenchido com informações do banco
coloque o dado recuperado num atributo "value";
ex:

(...)

while($row = mysql_fetch_array($resBusca)){
?>

<form bla bla..>

<input type="text" readonly="true" class="input_cad" name="nome" id="name" maxlength="200"
value="<?php echo row['nome'];?>"/>

<?php
 }
?>

</form>

Atenção: vc está aprendendo funções mysql* obsoletas.

Tente, assim que possivel, aprender PDO:
http://www.devmedia.com.br/introducao-ao-php-pdo/24973
http://www.rafaelwendel.com/2011/12/tutorial-pdo-php-data-object/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, desculpa a demora em responder, foi uma semana corrina na faculdade ...

 

Então, tentei como Fernando C falou, deu certo em partes.

 

Eu faço a busca, retorna os resultados nos campos, mas o formulário fica todo bagunçado.

 

Tentei ver se ajeitava, mas sem suceso :/

 

Espero que vocês possam me ajudar. :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Coloquei assim pra ver se funcionava, mas acho que não o mais aconselhavel...

.......


<section id="corpo">
				<div id="login">
					<h1 class="excluir" >Excluir Workshop</h1>
					<form id="formEx" action="" method="post" enctype="multipart/form-data">
						<ul class="login">
							<li class="excluir">
								<label class="excluir"> 
									<span class="excluir">Buscar*: </span>
									<input type="text" class="input_ex" name="buscar" id="name" maxlength="200"/>
									<input class="inButtonEx" type="submit" name="btBuscar" value="Buscar" />
									<?php 
										require "_php/conexao.php";
										$busca = $_POST['buscar'];
		
										$select = "select * from workshop where idworkshop='$busca'";
										$resBusca = mysql_query($select);
										
										while($row = mysql_fetch_array($resBusca)){
									?>
								</label>
							</li>
						</ul>
					</form>
				</div>

				<div id="cadUsuario">
					<h1>Dados do Workshop</h1>
					<form id="form" action="" method="post" enctype="multipart/form-data">
						<ul class="cadastro">
							<li class="cadastro">
								<label> 
								<span>NOME*: </span>
									<input type="text" readonly="true" placeholder="" class="input_cad" name="nome" id="name" value="<?php echo $row['nome']?>" maxlength="200"/>
									
							</label>
							
							<label> 
								<span>TIPO*: </span>
								<input type="text" readonly="true" class="input_text" name="tipo" id="tipo" value="<?php echo $row['nome']?>" maxlength="200"/>
										<?php } ?>
							</label>


..........
</li>
</ul>
</form>
</div>

.......
</section>

......

Aí antes de eu buscar o q eu quero os campos ficam bagunçados, alguns na mesma linha, desalinhados ... Mas depois que clico no botão buscar e a pagina atualiza, o formulario fica do jeito que é, organizado e com os campos preenchidos...

 

Eu acho que seja alguma coisa relacionada a chave que fecha o while, q não tô sabendo direito onde colocar, não sei.

 

Espero que possa ajudar. Obrigada desde já :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, surgiu mais uma dúvida.

Quando o usuário vai alterar seus dados cadastrais, dentre as informações que ele pode alterar está o email e o username, mas antes de fazer a alteração, eu tenho que fazer a verificação dos campos e ver se o usuario está tentando usar um email ou username já existentes. Até aí tudo bem, funciona, já fiz até em outras partes do sistema. Mas dessa vez, na hora de verificar os campos, eu tenho que considerar o email e o username atuais do usuário, caso ele não deseje altera-los o código de verificação tem que "entender" mas sem dar erro, dizendo que ambos já estão cadastrados.

 

Ou sejá, eu tenho que verificar se o usuário alterou ou não esses dados. Se tiver alterado, verifica as alterações feitas, se não tiver alterado, mantem as informações, mas não exibe nenhuma restrição, já que as informações que ele optou por manter já estão cadastradas.

 

Ainda não testei nenhum código, pq não consegui pensar em nada :/

 

Espero que vocês possam me dar um help tbm...

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Luiz Henrique
      Olá pessoas,
       
      Preciso efetuar uma busca pelo nome do cliente em uma tabela servicos porém o que é salvo do cliente nesta tabela é o id_cliente, tentei com INNER JOIN mas não funciona ou fiz errado, alguma ideia de como fazer isso?
       
      Ou terei que fazer um SELECT na tabela clientes salvar os id's da consulta aí então efetuar outro SELECT na tabela servicos?
       
      Ou ainda salvar o nome do cliente na tabela serviços? Mas queria uma opção melhor do que salvar o nome, pois cada vez que atualizar o nome do cliente terei que atualizar todas o mesmo na tabela servicos.
       
      Obrigado
    • Por Marcio_123
      Ola Pessoal blzzz
       
      Estou usando essa busca mas quando uso o 3° termo ele não mostra, apenas quando o uso o 1° e 2°.
       
      Se tirar o 3° a busca LIKE não mostra, so da certo as 2 primeiras, como poderei acrescentar o LIKE para pegar por partes do nome do fornecedor. UM HELP AI GALERA
       
      $busca = "SELECT * FROM empresas WHERE orgao = '$s' OR num_empenho = '$e' OR fornecedor LIKE '%".$f."%'  
    • Por TallysonZ
      Olá pessoal, sou novo por aqui. E novo neste fantástico mundo do PHP

      Estou desenvolvendo um projeto de um App, usando o Laravel (*.*), e preciso da seguinte funcionalidade:

      >> Meu cliente irá enviar para meu servidor um arquivo HTML.
      >>> Este arquivo é uma planilha, que contém dados cadastrais de cliente e detalhes de pedido.
      >> Preciso converter este arquivo para TXT.
      >> Depois preciso rodar um script que procure neste arquivo TXT pela Tag "Nome" e que guarde o que estiver entre essa tag no campo "Nome" da tabela "Clientes" no BD.

      E o script não para por ai... Preciso que ele localize o Nome, CPF, endereço, etc... do cliente.

      Preciso disso porque o sistema que meu cliente usa, necessita que ele cadastre seus clientes na plataforma, e esta emite uma planilha em HTML ao término do cadastro do pedido. Mas este sistema não é dele, ele quer criar uma "Cópia" dos dados que envia pra este sistema, no qual ele possa gerenciar facilmente.

      E para ele não ter que fazer uma tarefa repetitiva (Digitar os dados todos no sistema "Principal" e depois digitar os mesmos dados no "Sistema Secundário") Estou pensando em criar este mecanismo.

      Outra, estou querendo criar um algoritmo de tratamento. Por exemplo:

      -> Pesquise CPF -> Compare CPF com a base atual -> CPF Existe? -> Se sim, cadastre apenas detalhes do novo pedido no CPF do cliente -> Se não cadastre todos os dados + os dados do Pedido.

      Enfim... Acho que já me prolonguei muito no assunto, desculpe se fugi um pouco do foco, apenas quero que entendam minha necessidade.

      Resumindo, gostaria de saber se existe algum script parecido, ou se terei de criar um do "Zero".
    • Por ryuunosuke
      Bem preciso fazer um busca por ID e cada ID pode ter ate 3 resultados. Ou seja pode ter 3 linhas com o mesmo ID.
       
      No $id_idx tem o id da conta logada. E preciso dos campos abaixo de cada linha.
      $sql = mysql_query("SELECT name, type, mod FROM Dados WHERE id_idx = '$id_idx'"); Nao consegui pensar em nada depois disso. :unsure:
      Mas como faço para prosseguir e obter de 0 a 3 resultados diferentes?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.