Pagina 5 di 5 primaprima ... 3 4 5
Visualizzazione dei risultati da 41 a 47 su 47

Discussione: menu dinamico con php

  1. #41
    nessuno sa darmi una risposta?

  2. #42
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da Jigulina
    Non capisco perchè non va
    Perchè la query dentro al ciclo sovrascrive il resultset che stai "ciclando".
    Codice PHP:
    <?
    $resultset_categoria
    =mysql_query("Select * from categoria") or die(mysql_error());
    if(
    mysql_num_rows($resultset_categoria)>0){
        while(
    $riga=mysql_fetch_array($resultset_categoria)){
            
    $resultset_contasub mysql_query("SELECT COUNT(id_categoria) FROM sub_categoria WHERE id_categoria=".$riga['id']) or die(mysql_error());
            
    $totali = (mysql_num_rows($resultset_contsub)>0) ? mysql_fetch_row($resultset_contsub) : array(0);
            echo
    '
                <tr>
                    <td>Nome: '
    .$riga['nome'].'</td>
                    <td>Contiene: '
    .$totali[0].'</td>
                </tr>
            '
    ;
        } 
    }
    ?>

  3. #43
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Vero, non avevo notato che ha dato lo stesso nome a tutte e 2 le variabili.

  4. #44
    Scusate ragazzi se ritorno qui ma non capisco una cosa, la query:
    Codice PHP:
    $sql "SELECT nome, prodotto 
            FROM tab_categoria  
            LEFT JOIN sub_categoria 
            ON tab_categoria.id = sub_categoria.id_categoria"

    $res mysql_query($sql); 
    cosi funziona, ma perchè se cambio il campo nome in nome_en(che sarebbe in Inglese) non va? nel db mi risulta perfettamente:

    tab_categoria
    id = 1
    nome = torte
    nome_en = cake

    perchè se lo sostituisco non va?

  5. #45
    Scusate ragazzi se ritorno qui ma non capisco una cosa, la query:
    Codice PHP:
    $sql "SELECT nome, prodotto 
            FROM tab_categoria  
            LEFT JOIN sub_categoria 
            ON tab_categoria.id = sub_categoria.id_categoria"

    $res mysql_query($sql); 
    cosi funziona, ma perchè se cambio il campo nome in nome_en(che sarebbe in Inglese) non va? nel db mi risulta perfettamente:

    tab_categoria
    id = 1
    nome = torte
    nome_en = cake

    perchè se lo sostituisco nome con nome_en non va?

  6. #46
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    che significa "non va"? ti da errore?
    fai così?
    Codice PHP:
    SELECT nome_enprodotto 
            FROM tab_categoria  
            LEFT JOIN sub_categoria 
            ON tab_categoria
    .id sub_categoria.id_categoria 
    e poi quando fai l'echo fai
    echo $res['nome_en']?

  7. #47
    ragazzi ci risiamo vi prego mi potete aiutare? ho sempre lo stesso problema con il menu:
    io ho un menu principale con 10 categorie, ogni voce ha id diverso es:

    Casa: categoria.php?id=1
    Arredamento: categoria.php?id=2

    a questo punto mi ricavo tramite l'id della pagina, la sub_categoria e faccio:
    codice PHP:
    Codice PHP:
    <? 
    $id 
    = isset($_GET['id']); 
    $query=mysql_query("Select * from sub_categoria where id_categoria = $id"); 
    while(
    $array=mysql_fetch_array($query)){ 
    $id_sub_categoria $array['id']; 

    // Stampo a video la Sub_categoria 
    ?> 
    - [b][url="#"]<? echo $array['nome'?>[/url][/b]
     


    <? 
    // Ora tramite id_sub_categoria mi recupero tutti i prodotti di ogni sub_categoria 
    $query2=mysql_query("Select * from prodotti where id_sub = $id_sub_categoria"); 
    while(
    $array=mysql_fetch_array($query2)){?> 
      -- [url="prodotto.php?id=<? echo $array['id'?>"]<? echo $array['nome'?>[/url]
     
    <? 


    ?>
    Ecco il tutto, mi serve join per mostrare i dati in quel menu! Cmq la struttura è composta cosi:
    Tab_Categorie = id, nome
    Tab_Sub_categorie = id, nome, id_categoria
    Tab_Prodotti = id, nome,testo, id_sub

    Ovviamente cosi non funziona, si deve fare come avete fatto voi precedentemente:
    Codice PHP:
    <?
    $sql 
    "SELECT nome, titolo, sub_categoria.id AS subcat_id 
            FROM categoria  
            LEFT JOIN sub_categoria 
            ON categoria.id = sub_categoria.id_categoria"

    $res mysql_query($sql); 

    $output = array(); 

    while ( 
    $record mysql_fetch_object($res) ) { 
        
    $output[$record->nome][] = array( 
            
    'id'       => $record->subcat_id
            
    'titolo' => $record->titolo
        ); 

    ?> 
        <ul id="menu"> 
        <?php foreach ( $output as $cat => $subcats ): ?> [*][url="#"][b]<?php echo ucfirst(strtolower($cat)); ?>[/b] [/url]
        <ul> 
            <?php foreach ( $subcats as $subcat ): ?> [*][url="prodotto.php?id=<?php echo $subcat['id']; ?>"]- <?php echo ucfirst(strtolower($subcat['titolo'])); ?>[/url] 
            <?php endforeach; ?> [/list]
         
        <?php endforeach; ?> [/list]
    a differenza di qui devo mostrare io le sotto categorie e i prodotti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.