Jump to content
Fórum Script Brasil
  • 0

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


Leandro Carvalho

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 *

Edited by wash
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...