Jump to content
Daniel Alves

Como listar todos os valores de uma tabela Mysql ?!

Recommended Posts

Daniel Alves

Bom dia.

Estou com um enorme problema.  :wallbash:

Existe algum tipo de código ou class ou algo assim que me permita listar todos os dados de uma tabela?

Eu tenho a tabela "operarios" da minha base de dados "interim"

Queria listar TODOS os operarios e se possivel criar hiperligações. Para que quando eu clicasse num operário pudesse redirecionar-me para a página respectiva do mesmo.  🤔

Alguem me pode mostrar um exemplo de código?

Abraço

Daniel Alves

Share this post


Link to post
Share on other sites
scorch

Isso depende da estrutura da tua tabela, e de como queres mostrar os operários. Mas tens de saber o básico de SQL.


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Caya

Basta fazeres um SELECT a essa tabela e listar os registos na página.

Qual é a dúvida em concreto? Como usar o SQL? Como conectar a uma base de dados por PHP? Como pegar no resultado e imprimir na página?

Share this post


Link to post
Share on other sites
Daniel Alves

Eu conheço minimamente SQL

O que eu precisava mesmo era  Como pegar no resultado e imprimir na página?

Aliás eu já consegui imprimir na pagina atraves do código:

<?php

$con = mysql_connect("localhost", "root");
mysql_select_db("interim", $con);
if (!$con)
{
die('Problema na ligação ' . mysql_error());
}
mysql_select_db("obras", $con);

$result = mysql_query("SELECT * FROM obras", $con);


//Verifica se algum registo foi devolvido
$numero_registos = mysql_num_rows($result);

echo "<table border=2>";
echo "<tr>";
echo "<td>Código Obra:</td> <td>Código Empresa:</td> <td>Data de Inicio:</td>";
echo "</tr>";

while($row = mysql_fetch_array($result))
{

echo "<tr>";



echo "<td>"<a href='index.html'.$row['user_id']."</td>";

echo "<td>".$row['username']."</td>";

echo "<td>".$row['password']."</td>";


echo "</tr>";
echo "<br>";
}
echo "</table>";


echo "<a href=\"./login.html\"><h4> Voltar <h4>";





mysql_close($con);

?>

Só que não era bem isto que eu queria. Eu precisava de uma tabela com hyperligações.

Para que ao clicar no operario ele me mostre toda a informação sobre ele numa outra página

Share this post


Link to post
Share on other sites
scorch

Mas as hiperligações e essa outra página tens de ser tu a fazer. Podes passar por exemplo o ID do operário, e depois na outra página, vais buscar as informações dele com base no ID. :P


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

Exacto exacto.

É mesmo isso que eu quero fazer...

Mas eu sou um iniciante em php

Tipo sei fazer href mas como faço para guardar o id_operario e redirecionar para a outra pagina??

Se tiver uma tabela com Id_operario e username:

1 | User1

2 | User2

3 | User3

Como faço uma hiperligação para saber qual o id do que eu clico?

Estou mesmo a rasca com isto  :wallbash:

Share this post


Link to post
Share on other sites
scorch

Fazes algo assim:

echo "<td><a href='index.html?op=".$row['user_id']."</td>";

Depois na outra página (a index.html, que é para onde estás a apontar a hiperligação) tens o ID na variável:

$_GET["op"]


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

Brutal  :P

Era mesmo isso...

Um exemplo de código. Acho que agora já chego lá :D

Muito obrigado

Share this post


Link to post
Share on other sites
Daniel Alves

Amigo Scorch

Aqui está o código.

Já esta a criar a tabela com todos os dados e a hiperligação.

<?php

$con = mysql_connect("localhost", "root");
mysql_select_db("interim", $con);
if (!$con)
{
die('Problema na ligação ' . mysql_error());
}
mysql_select_db("operarios", $con);

$result = mysql_query("SELECT * FROM operarios", $con);


//Verifica se algum registo foi devolvido
$numero_registos = mysql_num_rows($result);

echo "<table border=2>";
echo "<tr>";
echo "<td>Código Operario:</td> <td>Nome:</td> <td>Apelido:</td> <td>Profissão:</td><td>Nacionalidade:</td><td>Freguesia:</td><td>Cidade:</td><td>Nº Identificação:</td><td>Informação Detalhada</td>";
echo "</tr>";

while($row = mysql_fetch_array($result))
{

echo "<tr>";



echo "<td>".$row['id_operario']."</td>";

echo "<td>".$row['nome']."</td>";

echo "<td>".$row['apelido']."</td>";

echo "<td>".$row['profissao']."</td>";

echo "<td>".$row['nacionalidade']."</td>";

echo "<td>".$row['freguesia']."</td>";

echo "<td>".$row['cidade']."</td>";

echo "<td>".$row['nr_identificacao']."</td>";

echo "<td><a href=\"./operarios.html\"><h4> Ver <h4></td>";

echo "</tr>";
echo "<br>";
}
echo "</table>";


echo "<a href=\"./login.html\"><h4> Voltar <h4>";





mysql_close($con);

?>

Podes dar-me uma ajuda na parte de conseguir usar uma variavel para guardar o ID_operario?!

Porque estou a usar um While... Assim sendo como vou guardar dentro duma var o ID correcto para cada linha da tabela?!  :wallbash:

Não estou a chegar lá sozinho  :P

Share this post


Link to post
Share on other sites
scorch

Mas queres guardar onde? :P


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

Eu queria que ele conseguisse guardar numa variavel o ID de cada usuario...

Para entenderes melhor eu tenho que desenvolver uma aplicação web em que dê para inserir e listar operarios...

O que eu quero fazer é uma listagem dinamica. Tipo tem os operarios todos listados e eu clico num qualquer para ver a informaçao completa sobre ele. Para puder editar e etc etc

Assim sendo, eu já tenho a listagem, preciso de arranjar uma forma que ao clicar sobre o operario, abrir as informações todas dele.

Entao eu queria guardar o ID_operario numa VARIAVEL qualuqer para depois fazer

select * from operarios where id_operario= VARIAVEL 

Mas nao sei como fazer  :P

Share this post


Link to post
Share on other sites
scorch

Foi o que eu te disse no poste acima. Crias uma hiperligação para cada operário, tipo:

<?php

$con = mysql_connect("localhost", "root");
mysql_select_db("interim", $con);
if (!$con)
{
die('Problema na ligação ' . mysql_error());
}
mysql_select_db("operarios", $con);

$result = mysql_query("SELECT * FROM operarios", $con);


//Verifica se algum registo foi devolvido
$numero_registos = mysql_num_rows($result);

echo "<table border=2>";
echo "<tr>";
echo "<td>Código Operario:</td> <td>Nome:</td> <td>Apelido:</td> <td>Profissão:</td><td>Nacionalidade:</td><td>Freguesia:</td><td>Cidade:</td><td>Nº Identificação:</td><td>Informação Detalhada</td>";
echo "</tr>";

while($row = mysql_fetch_array($result))
{

echo "<tr>";



echo "<td>".$row['id_operario']."</td>";

echo "<td>".$row['nome']."</td>";

echo "<td>".$row['apelido']."</td>";

echo "<td>".$row['profissao']."</td>";

echo "<td>".$row['nacionalidade']."</td>";

echo "<td>".$row['freguesia']."</td>";

echo "<td>".$row['cidade']."</td>";

echo "<td>".$row['nr_identificacao']."</td>";

echo "<td><a href=\"./operarios.html?op=".$row["id_operario"]."\"><h4> Ver <h4></td>";

echo "</tr>";
echo "<br>";
}
echo "</table>";


echo "<a href=\"./login.html\"><h4> Voltar <h4>";





mysql_close($con);

?>

Depois na página operarios.html podes obter o ID do operário através da variável:

$_GET["op"]


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

És o maior já te disseram???  😲

Ta altamente  :)

Desculpa não ter feito logo o que me disseste. Mas nao tinha entendido. E quando copiei o código e colei estava a dar um erro...

Assim já dá na perfeição... Na barra de endereço já fica la o "op= id_operario"  :)

Muito obrigado mesmo por toda a ajuda.

Só mais uma questão. Qual a melhor forma de criar pdf atraves de php?!

Indicaram o FPDF. Aconselhas?!

É que a finalidade desta aplicação é imprimir contratos. Ou seja eu quero pre-formatar um documento que será completado pelas informações do operario...

O que me aconselhas?

Muito obrigado

Share this post


Link to post
Share on other sites
scorch

Sim, FPDF. É um dos mais usados, se não o mais usado, e é relativamente simples de se usar. :)


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

Já estou a ver uns tutorias.

Parece mesmo simples. Espero conseguir.

Gostava de colocar só mais uma questao. Desculpa incomodar.

Como é que eu copio para as textbox os dados que tenho na BD?!

Faço o

SELECT * FROM operarios WHERE id_operario= op

Mas como passo para as textbox a informação que recolhi com a query select ?!?!

Share this post


Link to post
Share on other sites
scorch

Não incomodas. Nós estamos cá para ajudar. :)

No echo metes assim, por exemplo.

echo '<input  name="um_nome_qualquer" value"'.$a_variavel_que_tem_o_que_queres_meter_na_textbox.'" />';


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

Amigo não estou a conseguir  :)

Aparece o nome da variavel dentro da textbox e não o seu valor.

Se calhar fiz mal a query  :wallbash:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Interim - Operários</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
</head>

<body>
<div id="container">
  <div id="top">
    <h1>Interim - Operários</h1>
  </div>
  <div id="leftSide">
  <fieldset>
<legend>Dados Pessoais</legend>
<form action="operarios_save.php" method="POST" class="form">

<?php

$con = mysql_connect("localhost", "root");
mysql_select_db("interim", $con);
if (!$con)
{
die('Problema na ligação ' . mysql_error());
}
mysql_select_db("operarios", $con);

$result = mysql_query("SELECT * FROM operarios WHERE id_operario= $op", $con);

?>
  <label for="id_operario">Código Operário</label>
    <div class="div_texbox">
      <input name="id_operario" type="text" class="textbox" id="id_operario" value="$id_operario" />
    </div>
 <label for="nome">Nome</label>
    <div class="div_texbox">
      <input name="nome" type="text" class="textbox" id="nome" value="$nome" />
    </div>
    <label for="apelido">Apelido</label>
    <div class="div_texbox">
      <input name="apelido" type="text" class="textbox" id="apelido" value="$apelido" />
    </div>
    <label for="sexo">Sexo</label>
    <div class="div_radio">
      <Input type = 'Radio' Name ='sexo' id="sexo" value= 'Masculino'>Masculino
      <Input type = 'Radio' Name ='sexo' id="sexo" value= 'Feminino'>Feminino
    </div>
     <label for="data_nascimento">Data Nascimento</label>
    <div class="div_texbox">
      <input name="data_nascimento" type="text" class="textbox" id="data_nascimento" value="" />
    </div>
     <label for="naturalidade">Naturalidade</label>
    <div class="div_texbox">
      <input name="naturalidade" type="text" class="textbox" id="naturalidade" value="" />
    </div>
      <label for="nacionalidade">Nacionalidade</label>
    <div class="div_texbox">
      <input name="nacionalidade" type="text" class="textbox" id="nacionalidade" value="" />
    </div>
     <label for="morada">Morada</label>
    <div class="div_texbox">
      <input name="morada" type="text" class="textbox" id="morada" value="" />
    </div>
    <label for="freguesia">Freguesia</label>
    <div class="div_texbox">
      <input name="freguesia" type="text" class="textbox" id="freguesia" value="" />
    </div>
        <label for="cidade">Cidade</label>
    <div class="div_texbox">
      <input name="cidade" type="text" class="textbox" id="cidade" value="" />
    </div>
     <label for="cod_postal">Código Postal</label>
    <div class="div_texbox">
      <input name="cod_postal" type="text" class="textbox" id="cod_postal" value="" />
    </div>
     <label for="cod_pais">Código País</label>
    <div class="div_texbox">
      <input name="cod_pais" type="text" class="textbox" id="cod_pais" value="" />
    </div>   
    
    <br />
    <br />
    <br />
    <hr size="1">
   
    <legend>Contactos</legend>
     <label for="telefone">Telefone</label>
    <div class="div_texbox">
      <input name="telefone" type="text" class="textbox" id="telefone" value="" />
    </div>
    <label for="telemovel">Telemóvel</label>
    <div class="div_texbox">
      <input name="telemovel" type="text" class="textbox" id="telemovel" value="" />
    </div>
    <label for="email">Email</label>
    <div class="div_texbox">
      <input name="email" type="text" class="textbox" id="email" value="" />
    </div>

<br />
    <br />
    <br />
    <hr size="1">
   
    <legend>Dados Adicionais</legend>
     <label for="nr_identificacao">Nº Identificação</label>
    <div class="div_texbox">
      <input name="nr_identificacao" type="text" class="textbox" id="nr_identificacao" value="" />
    </div>
    <label for="niss">NISS</label>
    <div class="div_texbox">
      <input name="niss" type="text" class="textbox" id="niss" value="" />
    </div>
    <label for="nif">NIF</label>
    <div class="div_texbox">
      <input name="nif" type="text" class="textbox" id="nif" value="" />
    </div>
    <label for="nr_passaporte">Nº Passaporte</label>
    <div class="div_texbox">
      <input name="nr_passaporte" type="text" class="textbox" id="nr_passaporte" value="" />
    </div>
    <label for="profissao">Profissão</label>
    <div class="div_texbox">
      <input name="profissao" type="text" class="textbox" id="profissao" value="" />
    </div>
    <label for="carta_conducao">Carta de Condução</label>
    <div class="div_radio">
      <Input type = 'Radio' Name ='carta_conducao' value= 'Sim'>Sim
      <Input type = 'Radio' Name ='carta_conducao' value= 'Nao'>Não
    </div>
     <label for="estado_civil">Estado Civil</label>
    <div class="div_texbox">
    <select name="mydropdown" id="estado_civil" name= "estado_civil">
	<option id="estado_civil" name= "estado_civil" value="Solteiro">Solteiro(a)</option>
	<option id="estado_civil" name= "estado_civil" value="Casado">Casado(a)</option>
	<option id="estado_civil" name= "estado_civil" value="Uniao de Facto">União de Facto</option>
        <option id="estado_civil" name= "estado_civil" value="Divorciado">Divorciado(a)</option>
        <option id="estado_civil" name= "estado_civil" value="Viuvo">Viuvo(a)</option>
</select>
    </div>
    <label for="nr_filhos">Nº Filhos</label>
    <div class="div_texbox">
      <input name="nr_filhos" type="text" class="textbox" id="nr_filhos" value="" />
    </div>
    <label for="esposa_trabalha">Esposa Trabalha</label>
    <div class="div_radio">
      <Input type = 'Radio' Name ='esposa_trabalha' value= 'Sim'>Sim
      <Input type = 'Radio' Name ='esposa_trabalha' value= 'Nao'>Não
    </div>
     <label for="nib">NIB</label>
    <div class="div_texbox">
      <input name="nib" type="text" class="textbox" id="nib" value="" />
    </div>
<label for="banco">Banco</label>
    <div class="div_texbox">
      <input name="banco" type="text" class="textbox" id="banco" value="" />
    </div>
  
<input name="Guardar" type="Submit" value="Guarda" class="buttons" />
</form>
</fieldset>
<div class="clear"></div>

  <div class="clear"></div>
</body>
</html>

Está mal assim?!

Só coloquei nos primeiros 3 campos porque tava a testar.

Share this post


Link to post
Share on other sites
scorch

Está mal porque fechaste a tag PHP. Faz assim: :)

  <label for="id_operario">Código Operário</label>
    <div class="div_texbox">
      <input name="id_operario" type="text" class="textbox" id="id_operario" value="<?php echo $id_operario ?>" />
    </div>
         <label for="nome">Nome</label>
    <div class="div_texbox">
      <input name="nome" type="text" class="textbox" id="nome" value="<?php echo $nome ?>" />
    </div>
    <label for="apelido">Apelido</label>
    <div class="div_texbox">
      <input name="apelido" type="text" class="textbox" id="apelido" value="<?php echo $apelido ?>" />
    </div>


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites
Daniel Alves

Nota de brunoais: Atenção: Isto não é para andar a escrever posts atraz de posts. Se precisares, edita o teu post ou espera um tempo de jeito (>2h) para escreveres um novo post


O erro permanece  :)

Eu fiz tal e qual como disseste. Mas na textbox aparece integralmente o código php "<?php echo $id_operario ?>"

Será que é porque está dentro de aspas?!


Eu acho que devo ter feito mal a query...  :wallbash:

mas mesmo assim ele se nao tivesse ligação a BD devia dar o textbox em branco ne?

E não com o nome da variavel  :)


Eu nao tenho que usar a propriedade GET ??!

Para que o PHP saiba qual é o valor do $op ???

Muito obrigado por toda a ajuda que me estas a dar

Share this post


Link to post
Share on other sites
scorch

Tenta mudar a extensão do teu ficheiro .html para .php

Sim. Tens de usar assim:

$_GET["op"]


PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.