Ir para conteúdo
Fórum Script Brasil

João F. Melo

Membros
  • Total de itens

    11
  • Registro em

  • Última visita

Posts postados por João F. Melo

  1. RESOLVIDO

    Depois de tanto percorrer a net a procura finalmente em casa e num sonho (isso mesmo) :blink:, me veio a soluçao.

    <?php
    function urlAmigavel(){
        // - Pega url digitada no navegador
        $url_digitada = strip_tags($_SERVER['REQUEST_URI']);
        // - Trasnforma em elementos de um array.
        $url_array = explode("/", $url_digitada);
        // - Exclui o primeiro elemento que está sempre vazio.
        array_shift($url_array);
    
        return $url_array;
    }
    $url = urlAmigavel();
    /* 
    if($url[2] == $url[2]){
        echo "Você está em ".$url[2]." - ";
    }
    else{
        echo "Você está em outra categoria";
    }*/
    
    if ($url{1}){
    
     if (empty($url[2]) and empty($url[3])){?>
      <b><center><font color=red>ERRO:</font><br>A p&aacute;gina <span><?=$url[1]?></span> n&atilde;o existe!</center></b>
    <? }
     else 
     {
     $idcampo = addslashes($url[3]);
     $Query ="Select * from subcategorias WHERE categoria = '$url[2]' AND nome = '$url[3]'"; //O meu problema estava aki
     $resultado = mysql_query($Query);
     $campo = mysql_fetch_assoc($resultado);
    
     print $url[3];
        
     echo '<div id="breadcrumb"><i>Voc&ecirc; est&aacute; em: <a title="Home" href="./site">Home</a> &raquo; <a title="Categoria &raquo; '.$campo['categoria'].'" href="?p='.strtolower($campo['categoria']).'">'.ucfirst($campo['categoria']).'</a> &raquo; '.ucfirst($campo['nome']).'</i>
     <p style="background:#f00;">Merda'.nl2br($campo['descricao']).'<br /><address><a href="java script:history.back(-1)">Voltar</a></address></p></div>';
       }
     }
     else
     {
     print '<span><h3>Desenvolvimento, Tecnologia e Informa&ccedil;&atilde;o, na ponta do l&aacute;pis.</h3></span>';
    }
    ?>

    Muito obrigado aos que me ajudaram!

  2. 1º esqueça o DW para fazer a consulta e conecxao, faça na "unha" é bem melhor e aprende mais. (opniao minha).

    Quando fizer o cadastro faça uma verificaçao se foi cadastrado se tudo ok retorne os dados como se faz para ter uma consulta normal.

    tipo

    if(ok){
     retorna dados..
    }

    Tinha esquecido, para fazer o retorno você vai ter que pedir pleo ultimo id cadastrado na ordem DESC

  3. .htaccess

    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^([^/]*)/$ /site/ [L]
    RewriteRule ^categoria/([^/]*)/$ /site/index.php?categoria=$1&sub=$2 [QSA] 
    #RewriteRule ^([^/]*)\.html$ /site/index.php?categoria=$1&sub=$2 [L]
    #RewriteRule ^diversos/([^/]*)\.html$ /site/index.php?diversos=$1 [L]
    RewriteRule ^diversos/([^/]*)/$ /site/index.php?diversos=$1 [L]
    
    #Este abixo exibe assim http://localhost/site/php/galaria_de_fotos/
    RewriteRule ^categoria/([^/]*)/([^/]*)/$ /site/index.php?categoria=$1&sub=$2 [L,QSA]

    Na url esta assim http://localhost/site/categoria/php/agenda/

    Faz tempo que estou tentando resolver isso e nada já estou até com dor de cabeça.

  4. boa tarde amigos, o site q estou fazendo a url amigavel esta funcionando tudo certo, mas quando resgato os dados da categoria não retorna nada.

    onde deve aparecer os dados:

    <?php
    $servidor = "localhost";
    $usuario = "user";
    $senha = "senha"; 
    $banco = "bd";
    $conexao = mysql_connect($servidor,$usuario,$senha);
    mysql_select_db($banco); 
    $res = mysql_query("SELECT * FROM categorias") or die(mysql_error());
    
        $pagina =  explode("/", $_GET['categoria']);
        $sub      = explode("/",  $_GET['sub']);
    
    if ($pagina{1}){
    
     if (empty($sub) || empty($pagina)){?>
      <b><center><font color=red>ERRO:</font><br>A p&aacute;gina <span><?=$pagina?></span> n&atilde;o existe!</center></b>
    <? }
     else 
     {
     $idcampo = explode("/", $_GET['sub']);
     $Query ="Select * from subcategorias WHERE id = $idcampo";
     $resultado = mysql_query($Query);
     $campo = mysql_fetch_assoc($resultado);
        
     echo '<div id="breadcrumb"><i>Voc&ecirc; est&aacute; em: <a title="Home" href="./site">Home</a> &raquo; <a title="Categoria &raquo; '.$campo['categoria'].'" href="?p='.strtolower($campo['categoria']).'">'.ucfirst($campo['categoria']).'</a> &raquo; '.ucfirst($campo['nome']).'</i></div>
     <p>'.nl2br($campo['descricao']).'<br /><address><a href="java script:history.back(-1)">Voltar</a></address>';
       }
     }
     else
     {
     print '<span><h3>Desenvolvimento, Tecnologia e Informa&ccedil;&atilde;o, na ponta do l&aacute;pis.</h3></span>';
    }
    ?>

    com o codigo acima sem URL amigavel funciona perfeito.

    como devo fazer para resgatar os dados do bd corretamente?

  5. aki esta quase lá mas ainda aguns "erros"

    .htaccess

    RewriteEngine On
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteRule ^([^/]*)\.html$ /site/teste/?categoria=$1 [L]
    RewriteRule ^categoria/([^/]*)\.html$ /site/teste/index.php?categoria=$1 [L]
    RewriteRule ^diversos/([^/]*)\.html$ /site/teste/index.php?diversos=$1 [L]
    index.php
    <?php
    $c = explode('/', $_GET['categoria']);
    
    $d = explode('/', $_GET['diversos']);
    
    <div id="centro">
    #exibe a categoria selecionada
    print $c[0]."<br />";
    
    print $d[0];
    </div>
    ?>
    o menu
    <ul class="menu" id="menu">
        <li><a href="./" class="menulink"><span>Home</span></a></li>
        <li><a href="" class="menulink"><span>Servi&ccedil;os</span></a>
       <ul>
         <li><a href="./diversos/cd_dvd.html">Gravação de CD/DVD</a></li>
         <li><a href="./diversos/cartao.html">Cartão de visita</a></li>
       </ul>
     </li>
     <li><a href="" class="menulink"><span>Dicas</span></a>
       <ul>
        <li><a href="./categoria/php.html" class="sub">PHP</a></li>
        <li><a href="./categoria/photoshop.html" class="sub">Photoshop</a></li>
        <li><a href="./categoria/css.html" class="sub">CSS</a></li>
        <li><a href="./categoria/javascript.html" class="sub">JavaScript</a></li>
        <li><a href="./categoria/diversos.html" class="sub">Diversos</a></li>
       </ul>
      </li>  
      <li><a href="/contato.html" class="menulink"><span>Contato</span></a></li>
      <li><a href="./portifolio/" class="menulink"><span>Portif&oacute;lio</span></a></li>
    </ul>

    O erro:

    quando clico em Dicas = categoria/php exibe tudo ok, mas quando quero ir para Servicos = diversos/cartao,

    na url exibe assim site/teste/categoria/diversos/cartao.html

    onde esta o erro? :wacko:

  6. Bom dia amigos, estou fazendo um menu dinamico onde os dados vem do bd (mysql) e este monta o menu com sub-menu. Quando este esta na vertical "pega" todos os dados da sub-categoria do menu, mas na horizontal so retorna o 1º item (sub-categoria) para cada categoria.

    Aqui tem o exemplo funcionando na horizontal e vertical

    Menu Horizontal

    <ul class="menu" id="menu">
    <li><a href="./" class="menulink">Home</a></li>
    <?
    $consulta = mysql_query("SELECT * FROM categorias ORDER BY categoria ASC");
    
    while($verifica = mysql_fetch_array($consulta)){
    $id = $verifica["id_cat"];
    $nome = $verifica["categoria"];
    
    #Faz uma query e seleciona todoas as categorias referentes ao menu
    $c2 = mysql_query("SELECT * FROM subcategorias WHERE categoria = '$nome'");
       if (mysql_num_rows($c2) > 0){
        echo "<li><a href='#' class='menulink'>".$nome."</a>"; //Exibe a categoria
    #Retorna as sub-categorias
    while($v2 = mysql_fetch_array($c2)){ //Aki usando while ou if faz a mesma coisa
       echo "<ul>";
       echo "<li>";
       echo "<a class='sub' title='$nome >> $v2[nome]' href='?p=".$nome."&amp;sub=".$v2['id']."'>".$v2['nome']."</a>";
       echo "</li>";
       echo "</ul>";
        }
    }
    }
    ?>
    </ul>
    <script type="text/javascript">
        var menu=new menu.dd("menu");
        menu.init("menu","menuhover");
    </script>
    as tabelas
    CREATE TABLE `categorias` (
    `id_cat` int(11) NOT NULL auto_increment,
    `categoria` varchar(75) NOT NULL,
    PRIMARY KEY (`id_cat`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=6 ;
    
    CREATE TABLE `subcategorias` (
    `id` int(11) NOT NULL auto_increment,
    `id_cat` int(11) NOT NULL,
    `categoria` varchar(75) NOT NULL,
    `nome` varchar(60) NOT NULL,
    `descricao` longtext NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=9 ;
    Menu vertical
    <div id="menu">
    <div id="categoria">Principal</div>
           <div id="subcateg"><a href="./">Home</a></div>
           <div id="subcateg"><a href="?p=portifolio">Portif&oacute;lio</a></div>
           <div id="subcateg"><a href="?p=servicos">Servi&ccedil;os</a></div>
           <div id="subcateg"><a href="?p=sobre">Sobre</a></div>
           <div id="subcateg"><a href="?p=contato">Contato</a></div>
    <?
        $consulta = mysql_query("SELECT * FROM categorias ORDER BY categoria ASC");
    
            while($verifica = mysql_fetch_array($consulta)){
            $id = $verifica["id_cat"];
            $nome = $verifica["categoria"];
    
            #Faz uma query e seleciona todoas as categorias referentes ao menu
            $c2 = mysql_query("SELECT * FROM subcategorias WHERE categoria = '$nome'");
               if (mysql_num_rows($c2) > 0){
             #Mostra o Nome do Menu
              print "<div id=categoria>".$nome."</div>";
             #Faz um While e mostra todas as Sub-categorias do menu
               while($v2 = mysql_fetch_array($c2)){
               print "<div id=subcateg><a title='$nome >> $v2[nome]' href='?p=".strtolower($nome)."&amp;sub=".$v2['id']."'>".$v2['nome']."</a></div>";
                    }
                }
            }
    ?>
    </div>

    O que preciso mesmo e resolver a parte horizontal que é o menu que estou querendo.

    Fiquem com Deus.

×
×
  • Criar Novo...