Jump to content

Recommended Posts

Boa tarde pessoal.

Sou iniciante em PHP e estou desenvolvendo um sistema de bolsas de estudos. Estou com dificuldade na seguinte questão.

 

Tenho a tabela Bolsas onde as bolsas de estudos são cadastradas e tenho outras tabelas como cidade, cursos, instituição, etc. No formulário de cadastro da Bolsa, nas opções cidade, cursos instituição... eu faço uma consulta no Banco de Dados e retorno os valores num ComboBox. 

 

<select class="form-control1" name="curso">
    <option value="">Selecione ...</option>
    <?php
    // Instancia o objeto PDO
    $pdo = new PDO('mysql:host=localhost;dbname=bolsascursos', 'root', '');
    $consulta = $pdo->query("SELECT id, nome FROM cursos;");
    while ($linha = $consulta->fetch(PDO::FETCH_ASSOC)) {
    ?>
    <option value="<?php echo $linha['id'] ?>"><?php echo $linha['nome'] ?></option>
    <?php
    }
    ?>
    ?>
</select>

O exemplo acima ele insere o id capturado dentro da tabela Bolsas na coluna id_bolsa.

 

Abaixo ta o código usado pra listar as Bolsas Cadastradas.

<?php
	    $select = "SELECT * from bolsas ORDER BY id DESC";

		try {
			$result = $conexao->prepare($select);
			$result->execute();
			$contar = $result->rowCount();
			if($contar>0) {
				while($mostrar = $result->FETCH(PDO::FETCH_OBJ)) {
?>

<?php echo $mostrar->curso;?>
<?php echo $mostrar->categoria;?>
<?php echo $mostrar->id_curso;?>

....

<?php
}
			} else {
				echo 'Não existem instituições cadastradas!';
			}

		}catch(PDOException $e) {
			echo $e;
	}
?>

 

Minha dúvida é a seguinte: Como faço para que ao invés de amostrar o ID do curso, amostrar o Nome do Curso ?

Eu li sobre INNER JOIN mas não consegui fazer nada que desse certo ...

Share this post


Link to post
Share on other sites

Com inner join você vai retornar as bolsas e os cursos correspondente ao ID CURSO.

Por exemplo:

 

  • Bolsa ID 1 -> Nome: BOLSANATAL - Categoria: 2 - Idcurso: 2
  • CURSO ID 2 -> Nome: PHP - Descricao: Venha programar em PHP
  • CURSO ID 3 -> Nome: C++ - Descricao: ALOCA!

 

Se você executar:

SELECT 
B.categoria as bolsa_categoria, 
B.id as bolsa_id,
C.nome as curso_nome, 
C.id as curso_id 
FROM bolsas B 
INNER JOIN cursos C 
ON C.id = B.id_curso;

Será retornado:

  • bolsa_id -> 1
  • bolsa_categoria -> 2
  • curso_nome -> PHP
  • curso_id -> 2

 

Espero que ajude.

Share this post


Link to post
Share on other sites
13 horas atrás, jamesbond disse:

Com inner join você vai retornar as bolsas e os cursos correspondente ao ID CURSO.

Por exemplo:

 

  • Bolsa ID 1 -> Nome: BOLSANATAL - Categoria: 2 - Idcurso: 2
  • CURSO ID 2 -> Nome: PHP - Descricao: Venha programar em PHP
  • CURSO ID 3 -> Nome: C++ - Descricao: ALOCA!

 

Se você executar:


SELECT 
B.categoria as bolsa_categoria, 
B.id as bolsa_id,
C.nome as curso_nome, 
C.id as curso_id 
FROM bolsas B 
INNER JOIN cursos C 
ON C.id = B.id_curso;

Será retornado:

  • bolsa_id -> 1
  • bolsa_categoria -> 2
  • curso_nome -> PHP
  • curso_id -> 2

 

Espero que ajude.

 

Desculpe, ainda não consegui resolver o problema. Como eu disse, sou iniciante ainda!
Vou te listar a tabela Bolsas onde são inseridos as bolsas.

Onde em instituicao são gravados os IDs das instituições cadastradas na tabela instituicoes.

 

Aqui está o código usado pra listar as bolsas cadastradas

 

<?php
				$select = "SELECT * from bolsas ORDER BY id DESC";

		try {
			$result = $conexao->prepare($select);
			$result->execute();
			$contar = $result->rowCount();
			if($contar>0) {
				while($mostrar = $result->FETCH(PDO::FETCH_OBJ)) {
?>
<div class="col-sm-3">
<img src="../img/<?php echo $mostrar->instituicao;?>" style="max-width: 180px; width: auto; max-height: 115px; height: auto;"><br><br>
<b>Curso: </b> <?php echo $mostrar->curso;?><br>
<b>Modalidade: </b> <?php echo $mostrar->categoria;?><br>
<b>Tipo: </b> <?php echo $mostrar->tipo_curso;?><br>
<b>Cidade: </b><?php echo $mostrar->cidade;?><br>
<b>Plano de Estudos: </b><?php
$max = 120; echo substr_replace($mostrar->plano_estudos, (strlen($mostrar->plano_estudos) > $max ? '...' : ''), $max);?><br>
<b>Percentual: </b><?php echo $mostrar->percentual;?>%<br>
<b>Valor Total: </b>R$ <?php echo $mostrar->valor_total;?><br>
<b>Valor da Bolsa: </b>R$ <?php echo $mostrar->valor_desconto;?><br>
<b>Nº de Parcelas: </b><?php echo $mostrar->numero_parcelas;?><br>
<b>Valor da Matrícula: </b>R$ <?php echo $mostrar->custo_matricula;?><br>
<b>Custo com Material: </b>R$ <?php echo $mostrar->custo_com_material;?><br>
<b>Percentual por Indicação: </b><?php echo $mostrar->percentual_indicacao;?>%<br>
<a href="editar-bolsa.php?id=<?php echo $mostrar->id; ?>">Editar</a>
</div>

<?php
}
			} else {
				echo 'Não existem instituições cadastradas!';
			}

		}catch(PDOException $e) {
			echo $e;
	}
?>

Aí que vem a minha dúvida, como faço pra amostrar o nome da Instituição invés do ID ?


 

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

  • Similar Content

    • By lucas70770
      Olá, eu tenho um sistema de pedidos onde em sua tabela a linha impar é os dados do produto e a impar é a grade de produtos, segue o código:
      <table class="tabela-tab-produto"> <thead> <tr> <th width="43"></th> <th>Código</th> <th>Descrição</th> <th>Qtde.</th> <th>Preço Tab.</th> <th>Desc.</th> <th>Preço Líq.</th> <th>Subtotal</th> <th></th> </tr> </thead> <tbody> <tr id="5{1+2,2{4+1"> <td></td> <td>LS</td> <td>Cortinas Listradas</td> <td class="text-right padding-right-15">3 <small>Un</small></td> <td class="text-right"><small>R$</small> 119.9</td> <td class="text-center"></td> <td class="text-right"><small>R$</small> 150</td> <td class="text-right"><small>R$</small> 450</td> <td class="text-right"> <a class="button tiny btn-cinza btn_editar" id="1"><span class="icon icon-pencil"></span></a> <a class="button tiny btn-cinza btn_excluir margin-right-15" data-open="container_excluir" id="86" aria-controls="container_excluir" aria-haspopup="true" tabindex="0"><span class="icon icon-bin"></span></a> </td> </tr> <tr> <td colspan="9"> <div class="medium-12 columns"> <table class="tab-produto"> <thead> <tr> <th></th><th>380x230</th><th>580x230</th> </tr> </thead> <tbody> <tr><td>Azul Claro</td><td>1</td><td>-</td></tr><tr><td>Azul</td><td>-</td><td>2</td></tr> </tbody> </table> </div> </td> </tr><tr id="1{1+1"> <td></td> <td>VLI</td> <td>Cortinas Voil Liso</td> <td class="text-right padding-right-15">1 <small>Un</small></td> <td class="text-right"><small>R$</small> 79.9</td> <td class="text-center"></td> <td class="text-right"><small>R$</small> 79.9</td> <td class="text-right"><small>R$</small> 79.9</td> <td class="text-right"> <a class="button tiny btn-cinza btn_editar" id="3"><span class="icon icon-pencil"></span></a> <a class="button tiny btn-cinza btn_excluir margin-right-15" data-open="container_excluir" id="94" aria-controls="container_excluir" aria-haspopup="true" tabindex="0"><span class="icon icon-bin"></span></a> </td> </tr> <tr> <td colspan="9"> <div class="medium-12 columns"> <table class="tab-produto"> <thead> <tr> <th></th><th>280x230</th> </tr> </thead> <tbody> <tr><td>Azul</td><td>1</td></tr> </tbody> </table> </div> </td> </tr> </tbody> </table> Quero saber como posso apresentar essa tabela com o jspdf e jspdf-autotable(se for necessário). Nos meus testes ele esta tirando a tabela que esta dentro da tabela principal.
      Eu achei um artigo sobre isso(https://stackoverflow.com/questions/39386969/nested-tables-in-a-pdf-using-jspdf-and-jspdf-autotable) mas não consegui aplicar no meu caso. Obg   
    • By edionas
      Bom dia,
      a tempos venho tentando exibir o conteudo dos links abaixo na forma de tabela organizada, usando importação dos dados atraves do link:
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes.xml?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      http://api.tcm.ce.gov.br/sim/1_0/licitacoes.json?codigo_municipio=002&data_realizacao_autuacao_licitacao=20100101_20100115
      Porem não tenho conseguido exito.
    • By cesarfelix
      Bom dia!
       
      Estou com um problema num alinhamento de uma tabela de um sistema (SISObrasPref).
       
      No código abaixo, está cortando a impressão à esquerda da página:
       
      <table border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;
       border:none;mso-border-alt:solid windowtext .5pt;mso-padding-alt:0cm 3.5pt 0cm 3.5pt'>
       <tr style='height:58.75pt;mso-yfti-lastrow:yes;page-break-inside:avoid'>
        <td width=617 valign=top style='width:462.5pt;border:solid windowtext .5pt;
        padding:0cm 3.5pt 0cm 3.5pt;height:58.75pt'>
        <h1 align=left style='text-align:left'>&nbsp;</h1>
        <h1><span style='font-size:12.0pt'>&lt;#NOME_PREFEITURA&gt;<o:p></o:p></span></h1>
        <p class=MsoNormal align=center style='text-align:center'><b
        style='mso-bidi-font-weight:normal'>&lt;#DEPARTAMENTO_PREFEITURA&gt;<o:p></o:p></b></p>
        </td>
       </tr>
      </table>
       
      Como eu faço para mover toda a tabela para a direita, para que a impressão saia correta?
       
       

    • By malaho
      Olá amigos, estou desenvolvendo um site, e uma das páginas possuem um índice de palavras.
      Queria que, ao clicar em uma palavra, o significado da mesma aparece se na mesma página, abaixo, dentro de uma célula de tabela. 
      Já pesquisei e não encontrei nada sobre. Desde já agradeço a ajuda.
    • By CharlieAldrin
      Estou tentando fazer o seguinte codigo, onde ele pega alguns dados e salva eles em uma tabela, porém o INSERT não está salvando os dados, tem algo errado? 
       
      <?php
      session_start();
      include('config.php');
      //  id1
      // recebe pela url
      $id_busca_ajuda = $_GET['id']; 
      // id2
      // recebe pela url
      $nick_busca_ajuda = $_GET['nick']; 
      $id_ajudante = $_SESSION['usuario'];
      // nick 2
      $database = new Database();
      $db = $database->getConnection();
      $query = $db->prepare("SELECT nick_ajudante FROM sala_ajudante WHERE id_usuario_ajudante=".$_SESSION['usuario']);
      $runAjudante = $query->execute();
      $linha = $query->fetch(PDO::FETCH_ASSOC); 
      $nick_ajudante = $linha['nick_ajudante']; 
      // linha que não estpa funcionando
       $query =  $db->prepare("INSERT INTO conversa ('nick1', 'nick2', 'id1', 'id2', 'online') VALUES ('".$nick_busca_ajuda."' , '".$nick_ajudante."' , '".$id_busca_ajuda."' , '".$id_ajudante."' , '1');"); 
      $runConv = $query->execute();

      ?>
×

Important Information

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