Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

securaa

Subcategoria com a sua Categoria

Recommended Posts

Boa Tarde alguém poderia me ajudar como eu faço para mostrar minhas submatérias logo abaixo de sua respectiva matéria não estou conseguindo alguém poderia me ajudar por favor.

 

Banco de dados: bancoq

Tabela 1: materias

id:

sgl_materia:

nome_materia:

Tabela 2: sub_materias

id:

id_materias:

nome_sub_materia:

<?php
                   include 'database.php';
                   $pdo = Database::connect();
                   $sql = 'SELECT * FROM materias ORDER BY id';
                   foreach ($pdo->query($sql) as $row) {
				   
                            echo '<tr>';
                            echo '<td>'. $row['sgl_materia'] . ' - ' .$row['nome_materia'].'</td>';
		            echo '<td width=250>';
			    echo '<a class="btn" href="read.php?id='.$row['id'].'">Sobre</a>';
			    echo ' ';
			    echo '<a class="btn btn-success" href="update.php?id='.$row['id'].'">Editar</a>';
                            echo ' ';
                            echo '<a class="btn btn-danger" href="delete.php?id='.$row['id'].'">Deletar</a>';
                            echo '</td>';
                            echo '</tr>';
                   }
                   Database::disconnect();
                  ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra ficar fácil de entender, eu sempre desmembro o código separando-o por blocos. Um exemplo usando o seu código:

 

 

 
<?php
// Include database file
include 'database.php';
 
// Get static connection
$pdo = Database::connect();
 
// Query SQL
$sql = 'SELECT * FROM materias ORDER BY id';
 
/* 
 * Esse é seu loop, com ele você está realizando um laço enquanto sua query atender a condição, nesse caso, pega
 * todos os registros da tabela materiais. Você atribuiu a sua query a sua variável $pdo o que te retorna as linhas
 * dessa tabela armazenada na variável $row.
*/
foreach ($pdo->query($sql) as $row) {
 
    /*
     * Agora que você tem os dados da tabela materiais, inclusive o id da linha do material quando o ponteiro do loop 
     * estiver em $i. $i é a linha da sua tabela. Por exemplo: id 1 | nome_materia mochila, id 2 | nome_material caderno
     * e assim até ler toda query. Você pode usar esse id pra relacioná-lo na query abaixo onde escolhemos a sub de
     * acordo com o material selecionado. Assim você cria um menu dropdown.
     *
     * O seu id está em $row['id'], certo?! Então...
    */
    $sub_materiais = $pdo->query("SELECT * FROM sub_materias WHERE id_materias = {$row['id']} ORDER BY id");
    
    /*
     * Essas estão seus submateriais 
     * que você pode pegar da mesma maneira que pegou os dados dos materiais.
    */
   foreach($sub_materiais as $subMaterial):
 
 
    endforeach;
endforeach;
?>
...

 

Veja se consegue colocar o html dentro dessa estrutura.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.