Ir para conteúdo
Fórum Script Brasil
  • 0

Como exibir resultados de um SELECT em uma página HTML.


Leandro Carvalho

Pergunta

Eu estou criando um sistema de busca onde o usuário digita um número, esse número deve ser buscado na coluna ID da base dados o_s. Quando o ID é encontrado eu quero que seja montado a pagina HTML com todas informações daquela linha, são 16 campos no total.

Ainda sou iniciante, foi isso que desenvolvi até agora, uma página com a tabela a ser preenchida e o arquivo de consulta em php.

 

Pagina HTML:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>

<body>

<h1> Pesquisa de OS</h1>
	<form action="consulta.php" method="post" name="consulta">
    	<label>Numero da OS</label>
        <input type="number" name="numos" />
        <input type="submit" name="pesquisar"></input>
    </form>
    
<table border="1">
     <tr>
        <th>Situação:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Data e hora de registro:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Email do responsável:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Nome do responsável:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Número de pedido</th>
        <td></td>
     </tr>
     <tr>
     	<th>Data da venda:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Código do cliente:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Número da nota fiscal de venda:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Motivo:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Alegação do cliente:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Combinado com o cliente:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Fornecedor do produto:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Unidade:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Gestor:</th>
        <td></td>
     </tr>
     <tr>
     	<th>Arquivos:</th>
        <td></td>
     </tr>
     
</table>
  
  </body>
</html>

 

Pagina PHP:

<?php

$numos = $_POST['numos'];

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "garantia_dispetral";


// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
  die("Falha na conexão com o banco de dados: " . $conn->connect_error);
}
echo "Conexao com o banco de dados efetuada";


$query = "SELECT id FROM o_s WHERE id LIKE '$numos'";



?>

Não sei como proceder agora. Alguém pode me ajudar com o modelo de preenchimento para que os dados obtidos completem os campos da tabela criada no HTML?

A base de dados esta toda configurada já, inclusive o sistema de inserção desses dados já funciona perfeitamente.

 

Quem puder me ajudar, muito obrigado! Um abraço a todos.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Olá!
Aqui tem um bom exemplo de como fazer isso, veja: php.net/mysqli_fetch_all

 

Pra ficar bem fácil vou colar um trecho aqui:

// guarda o resultado da execução da query em $result
$result = $mysqli->query('select * from table');

// guarda cada linha de $result em $rows
$rows = $result->fetch_all(MYSQLI_ASSOC);

// inicie a tabela
$displayTable = '<table><thead><tr><th>Title</th></tr></thead>';

// para cada linha em rows
foreach ($rows as $row) {
	// monte as linhas da tabela aqui
    $displayTable.= '<tr><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
}
// mostre a tabela onde precisar:
  echo $displayTable.'</table>'
Link para o comentário
Compartilhar em outros sites

  • 0
10 horas atrás, wash disse:

Olá!
Aqui tem um bom exemplo de como fazer isso, veja: php.net/mysqli_fetch_all

 

Pra ficar bem fácil vou colar um trecho aqui:

// guarda o resultado da execução da query em $result
$result = $mysqli->query('select * from table');

// guarda cada linha de $result em $rows
$rows = $result->fetch_all(MYSQLI_ASSOC);

// inicie a tabela
$displayTable = '<table><thead><tr><th>Title</th></tr></thead>';

// para cada linha em rows
foreach ($rows as $row) {
	// monte as linhas da tabela aqui
    $displayTable.= '<tr><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
}
// mostre a tabela onde precisar:
  echo $displayTable.'</table>'

Muito obrigado Wash! Consegui montar a tabela assim, porém o meu resultado da tabela só exibi o número que pesquisei, não os demais campos daquela linha do banco de dados o qual corresponde o número que pesquisei. Da uma olhada no anexo.

Oque posso fazer nesse caso?

Como o código ficou agora: 

<?php

$numos = $_POST['numos'];

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "garantia_dispetral";


// Create connection
$mysqli = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($mysqli->connect_error) {
  die("Falha na conexão com o banco de dados: " . $mysqli->connect_error);
}
echo "Conexao com o banco de dados efetuada";


// guarda o resultado da execução da query em $result
$result = $mysqli->query("SELECT id FROM o_s WHERE id LIKE '$numos'");

// guarda cada linha de $result em $rows
$rows = $result->fetch_all(MYSQLI_ASSOC);

// inicie a tabela
$displayTable = '<table border="1"><thead><tr><th colspan="2">O.S Solicitada</th></tr></thead>';

// para cada linha em rows
foreach ($rows as $row) {
	// monte as linhas da tabela aqui
    $displayTable.= '<tr><th>Numero da Os:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Data e hora do registro:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Email do responsavel:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Nome do responsável:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Numero do pedido:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Data da venda:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Codigo do cliente:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Numero da nota fiscal de venda:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Motivo:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Alegacao do cliente:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Combinado com o cliente:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Fornecedor do produto:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Unidade:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Gestor:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	$displayTable.= '<tr><th>Arquivos:</th><td>'
    .implode('<br>', $row) 
    .'</td></tr>';
	
}
// mostre a tabela onde precisar:
  echo $displayTable.'</table>'


?>

 

Capturar.PNG

Link para o comentário
Compartilhar em outros sites

  • 0
3 horas atrás, Leandro Carvalho disse:
// guarda o resultado da execução da query em $result
$result = $mysqli->query("SELECT id FROM o_s WHERE id LIKE '$numos'");

experimente trocar select id por select *

Editado por wash
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...