Jump to content

Archived

This topic is now archived and is closed to further replies.

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á :)

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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/

Share this post


Link to post
Share on other 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. :)

Share this post


Link to post
Share on other 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á :)

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other sites

  • Similar Content

    • By RDG
      Amigos, estou com um problema no resultado de busca somente no campo conteudo, o qual não exibe informações se não for buscado exatamente como é está no banco de dados neste caso não diferenciando letras maiúsculas de minúsculas.
      Por exemplo por "Palio" como está cadastrado o resultado é exibido, agora de buscar por "palio" não exibe nenhum resultado.
      O que notei também é se eu buscar por "alio" exibe os resultados que no caso seria do Palio.
       
      Abaixo a estrutura do Banco de Dados que utilizo para esse sistema, um detalhe que notei é que o o campo conteudo Tipo blob não aceira o Collation  latin1_swedish_ci. Alterei e salvei mas volta a ficar em branco.
       
        # Nome Tipo Agrupamento (Collation) Atributos Nulo Predefinido Comentários Extra Acções   1 id  int(10)   UNSIGNED Não None   AUTO_INCREMENT         2 idpeca int(10)   UNSIGNED Não None             3 codymax varchar(255) latin1_swedish_ci   Sim NULL             4 valor varchar(300) latin1_swedish_ci   Não None             5 montadora varchar(300) latin1_swedish_ci   Não None             6 referencia varchar(300) latin1_swedish_ci   Não None             7 conteudo blob     Não None             8 ext varchar(3) latin1_swedish_ci   Sim NULL           -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
      Esta sessão está na index, que no caso aparece também na página do resultado da busca.
       
        <form action="?pg=busca" method="post" enctype="multipart/form-data">
                
                  <?php
                  $selCats = "SELECT * FROM galeria_pecas ORDER BY codymax";
                  $qrCats = mysql_query($selCats);
                      while($linhaCat = mysql_fetch_array($qrCats)){
                  ?>
                 
                  <?php
                  }
                  ?>

            </form>
       
      ---------------------------------------------------------------------------------------------------------------------
       
      A sessão abaixo está na página de resultado de buscas.
       
      <?php 
            if (isset($_POST['acao']) && $_POST['acao'] == 'buscar'){
            $idcategorias = $_POST['galeria_pecas'];
            $pesquisa = strip_tags(trim($_POST['pesquisa']));
            
            $busca = "SELECT * FROM galeria_pecas WHERE
              codymax LIKE '%$pesquisa%' 
              OR valor LIKE '%$pesquisa%' 
              OR montadora LIKE '%$pesquisa%' 
              OR referencia LIKE '%$pesquisa%' 
              OR conteudo LIKE '%$pesquisa%' AND idpeca order by idpeca ";

            $qrBusca = mysql_query($busca);
             if(mysql_num_rows($qrBusca) == '0'){
               echo '<p> Não foram encontrados resultados para sua pesquisa!</p>';
       
             }else{
                 while($linhaBusca = mysql_fetch_assoc($qrBusca)){
         ?>
    • By 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."%'  
    • By 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".
    • By 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?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.