Unconfigured Ad Widget

Collapse

Anúncio

Collapse
No announcement yet.

Categoria com sub

Collapse
X
 
  • Filter
  • Tempo
  • Show
Clear All
new posts

  • Font Size
    #1

    Duvida Categoria com sub

    Olá meus amigos, gostaria de pedir uma ajuda, estou tentando colocar no me site, categorias exemplo, categoria php -> so aparece video de php, olha a tabelas

    :::::: Criei uma tabela com nome:
    ::::::
    Código PHP:
    categoria 
    Código PHP:
    id
    titulo_categoria
    tipo_categoria 
    :::::: exemplo php / visualbasic / javascript etc...

    :::::: Criei outra tabela com nome:
    ::::::
    Código PHP:
     videos_aulas 
    Código PHP:
    tipo_categoria
    titulo_video
    data_video
    autor_video
    codigo_video
    codigo_usuario 
    Eu queria que quando eu cria-se uma nova categoria ele aparece-se uma nova categoria com o conteudo relaciona a essa categoria:

    Exemplor:

    Categoria - tipo_categoria > PHP
    Videoaulas - tipo_categoria > PHP

    Quando eu coloca-se no videoaulas php aparece-se o php dentro da categoria php

    Aqui como eu to fazendo mas não da serto , ele ou aparece os videos ou aparece a categoria !
    Meu codigo:

    Código PHP:
            <?php 
            
    include "conexao/connect.php"
            
    $sqlC "SELECT c.*, v.* FROM wz_categoria c, wz_videos v WHERE c.tipo_categoria = v.tipo_categoria";
            
    $resultado mysql_query($sqlC);
            while(
    $conta=mysql_fetch_object($resultado)){
                    
               
    ?>
            <!--BOX_PHP-->
            <div class="box" id="<?php echo $conta->tipo_categoria?>">
               <h1><?php echo $conta->titulo?>
            <div class="immgs" id="<?php echo $conta->tipo_categoria?>">
            <img src="imgs/show_hide.png" align="Mostrar/Ocultar"/>
            </div>
            </h1>
            <div class="bg_box">
            <center>
            <img src="imgs/bg_box.png" border="0" alt=""  />
            </center>
            </div>
           
            <li class="conteudo">
            <h2><?php echo $conta->titulo_video?></h2>
            <img src="imgs/player.png" border="0" alt=""  /><br />
            <p><strong>Autor:</strong> </p> 
            <p><strong>Data:</strong> </p> 
            <p><strong>Preview:</strong> </p> 
            <p><strong>Postado por:</strong> </p>
            </li>
            </div><!--FIM BOX_PHP-->
             <?php
            
    }
            
    ?>

  • Font Size
    #2
    Amigo, não sei o porque da consulta SQL em duas tabelas, façã da seguinte forma

    SELECT * FROM `wz_videos` WHERE `tipo_categoria` = ID_CATEGORIA ;

    Desta forma so ira lista o conteudo que tiver naquela categoria,
    na hora dos menus gere Ele com outra Query
    Algo como
    SELECT id FROM categorias ;

    depois de um foreach e gere o menu apontando para uma pagina que resgata este valor, e lista as categorias
    Exemplo em codigo ( mude para o nome de suas tabelas OK )
    MENU

    Código PHP:
    <?php
    // Vamos fazer o codigo dentro de um bloco try catch para tratar os erros
    // ou caso evoluirmos o projeto para algo com  exceptions gerados por classes

    try{

    //Vou usar PDO, voce pode Usar o MySQLi  connect ou mesmo a funcao MySQL connect antiga
    $con = new PDO("mysql:host=SERVIDOR;dbname=BANCODADOS","usuario","senha");

    //sql para gerar o menu
    $sql "SELECT * FROM `CATEGORIAS` ";

    // vamos iniciar uma lista em HTML
    echo "<ul>";

    //vamos gerar os menus de acordo com o banco de dados
    foreach($con->query($sql) as $categoria){
       
        
    //algo desta forma deve bastar para gerar links que apontao para uma pagina chamada
    // listarvideos.php na qual tem como query string a categoria
        
    echo "<a href='listavideos.php?categoria=".$categoria['id']."' >".$categoria'nome'] ."</a>" ;

    }
    //fechamos a lista
      
    echo "</ul>";


    } catch( 
    PDOException $e){

    echo 
    "Ops, Erro ao conectar ".$e->getMessage();
    }

    ?>

    Vamos agora para a listar videos
    Código PHP:
    <?php
    include 'arquivo_de_conexao.php';

    $categoria $_GET['categoria'];


    if(empty(
    $categoria)){
     echo 
    "Ops, não foi passado a categoria";

    }else{
    // passamos um sql com um interrogação para usar prepared statements , caso não utilizar PDO ou uma 
    // class de abrstração de banco de dados utilize o mysql_scape e o algum tipo de proteção contra
    // sql Injection oks ?
    $stm $con->prepare("SELECT * FROM `videos` WHERE `categoria` =  ?");

    // um bind do valor ( subistituição do ? pela valor real )
    $stm->bindParam('?',$categoria);
    $stm->execute();

    foreach(
    $stm->fetch() as $resultado){
     
    //agora $resultado é um array com todos os dados do banco de dados e podemos assim exibir na tela

    print_r($resultado);

    //ou

    echo $resultado'nome_video'];
    echo 
    $resultado'categoria_video'];
    }
    }

    ?>

    Eu sei que fico um pouco bagunçãdo , e sei que deve ter algum erro no codigo , porque não lembro de todo ele de cabeça , sou um cara que aproveita o recurso de autocompletar muito.
    Mas fica a dica.
    Qualquer coisa procure por PDO , para entender melhor o codigo.
    De qualquer forma já tinha mostrado como fazer o a consulta logo no topo ,sem nada de php.
    Outra dica é o uso de templates para separar o que é php do que é html.
    Procure por Smarty
    E se quiser algo mais serio procure por Frameworks PHP
    ou por MVC.

    Caso tiver duvidas entre em contato amigo.

    Comment

    X
    Working...
    X