Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 24
  1. #1
    Utente di HTML.it L'avatar di Giuseppe1987
    Registrato dal
    Nov 2014
    residenza
    Napoli
    Messaggi
    26

    raggruppare dati per anno

    Salve a tutti, vorrei provare a raggruppare i dati presi da db in base all'anno in modo che cliccando sul button 2014 mi inserisca nella pagina solo i dati con anno 2014 e cosi via cliccando su gli altri anni, i button saranno creati dinamicamente anche essi da quelli presenti nel db
    img.jpg
    come posso fare? dovrei farlo con Ajax e creare delle query per ogni button?
    premetto che non sono un esperto..grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    o con ajax come hai detto tu o prendi tutto insieme e con i css fai i div che ti servono e ad ogni click scopri quello corrispondente

  3. #3
    Utente di HTML.it L'avatar di Giuseppe1987
    Registrato dal
    Nov 2014
    residenza
    Napoli
    Messaggi
    26
    In che senso faccio i div che mi servono con i css e come faccio a diversificare per anno? Potresti se possibile farmi un esempio..grazie per la risposta

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Questo per fare i tab con i contenuti http://www.html.it/pag/18990/realizz...annello-a-tab/
    Per diversificare, basta che nella query metti i dati ordinati per anno e poi quando prepari la pagina usi l'anno per mettere i dati nel DIV corretto

  5. #5
    Utente di HTML.it L'avatar di Giuseppe1987
    Registrato dal
    Nov 2014
    residenza
    Napoli
    Messaggi
    26
    clasku ho seguito il tuo consiglio ho diversificato tramite tab, ma ho un problema all'interno della tab appena apro ci sono anche i dati degli altri anni Schermata 2014-11-03 alle 10.47.54.jpg se clicco su di un altro anno mi mostra solo quelli inerenti all'anno cliccato ma non tutti solo il primo record di quell'anno Schermata 2014-11-03 alle 10.48.07.jpgSchermata 2014-11-03 alle 10.48.15.jpg
    Codice PHP:
    <div class="row">        
    <ul class="nav nav-pills nav-justified" role="tablist">        
    <? while($row_anno mysql_fetch_array($result_anno)){ ?>          
    <li id="anno" role="presentation"><a href="#<?= $row_anno['anno']; ?>" role="tab" data-toggle="tab"><?= $row_anno['anno']; ?></a></li>        
    <? ?>        
    </ul>    
    </div>    
    <h1 class="text-center prospettive">Piani didattici</h1>    
    <div class="tab-content">    
    <? while($row mysql_fetch_array($result)){ ?>      
    <div role="tabpanel" class="tab-pane active" id="<?= $row['anno']; ?>">           
    <h2><?= $row['titolo']; ?></h2>           
    <h3><?= $row['sottotitolo']; ?></h3>           
    <p><?= $row['descrizione']; ?></p>      
    </div>    
    <? }?>    
    </div>
    queste sono le query:
    Codice PHP:
    $sql_anno "SELECT DISTINCT anno FROM attivita_formativa";$sql "SELECT * FROM attivita_formativa GROUP BY anno DESC"
    Spero di non aver fatto errori nel postare, e grazie ancora
    Ultima modifica di Giuseppe1987; 03-11-2014 a 11:55

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    questo va nel div tab.content

    Codice PHP:
    $id ""// id del tab (serve per confrontare ogni record
    $first true// variabile booleana per gestione primo tab
    while($row mysql_fetch_array($result)){
        
    // verifica che l'anno sia diverso dal precedente
        
    if($row['anno'] !== $id) {
            
    // verifica se siamo nel primo tab
            
    if($first === true) {
                
    // se si 
                // scrive la classe active nel css
                
    $id $row['anno'];
                echo 
    "<div role='tabpanel' class='tab-pane active' id='$id'>";
                
    $first false// setta la variabile a false
            
    }
            else {
                
    // se no
                // scrive le classi successive
                
    $id $row['anno'];
                echo 
    "<div role='tabpanel' class='tab-pane' id='$id'>";
            }
        }
        else {
            
    // se l'anno è uguale al precedente stampa solo i dati
            
    echo "<h2>{$row['titolo']}/h2>           
            <h3>
    {$row['sottotitolo']}</h3>           
            <p>
    {$row['descrizione']}</p> ";
        }
    }
    ?> 
    non l'ho testato

  7. #7
    Utente di HTML.it L'avatar di Giuseppe1987
    Registrato dal
    Nov 2014
    residenza
    Napoli
    Messaggi
    26
    Non sono riuscito a farlo funzionare ho cercato di modificare lo script fatto da te perchè mi dava errori con alcuni tag non chiusi e la parte dopo l'ultimo else non veniva inserita nel div con l'id dell anno ma all esterno
    Codice PHP:
    else {   
    // se l'anno è uguale al precedente stampa solo i dati   
    echo "<h2>{$row['titolo']}</h2>              
    <h3>
    {$row['sottotitolo']}</h3>              
    <p>
    {$row['descrizione']}</p> ";} 
    nel modo in cui l'ho scritto mi inserisce solo il primo record all interno del div mentre gli altri sempre esternamente Schermata 2014-11-03 alle 18.59.45.jpg
    i cambiamenti fatti
    Codice PHP:
    $id ""// id del tab (serve per confrontare ogni record
    $first true// variabile booleana per gestione primo tab
    while($row mysql_fetch_array($result)){    // verifica che l'anno sia diverso dal precedente    
    if($row['anno'] !== $id) {       
     
    // verifica se siamo nel primo tab        
    if($first === true) {            
    // se si             
    // scrive la classe active nel css           
     
    $id $row['anno'];            
    echo 
    "<div role='tabpanel' class='tab-pane active' id='$id'>            
    <h2>
    {$row['titolo']}</h2>                      
    <h3>
    {$row['sottotitolo']}</h3>                       
    <p>
    {$row['descrizione']}</p></div>";            
    $first false// setta la variabile a false       
     
    }       
     else {            
    // se no            
    // scrive le classi successive            
    $id $row['anno'];            
    echo 
    "<div role='tabpanel' class='tab-pane' id='$id'>            
    <h2>
    {$row['titolo']}</h2>                       
    <h3>
    {$row['sottotitolo']}</h3>                       
    <p>
    {$row['descrizione']}</p></div>";        
    }    
    }    else {        
    // se l'anno è uguale al precedente stampa solo i dati       
     
    echo "<h2>{$row['titolo']}</h2>                  
     <h3>
    {$row['sottotitolo']}</h3>                   
    <p>
    {$row['descrizione']}</p> ";   
     }

    non riesco ad uscirne

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    dopo riguardo il mio codice, forse mancava qualcosa

  9. #9
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    avevi corretto bene, solo alcuni particolari da sistemare (spero )
    Codice PHP:
    $id ""// id del tab (serve per confrontare ogni record
    $first true// variabile booleana per gestione primo tab
    while($row mysql_fetch_array($result)){    
        
    // verifica che l'anno sia diverso dal precedente    
        
    if($row['anno'] !== $id) {       
             
    // verifica se siamo nel primo tab        
            
    if($first === true) {            
                
    // se si             
                // scrive la classe active nel css           
                 
    $id $row['anno'];            
                echo 
    "<div role='tabpanel' class='tab-pane active' id='$id'>
                    <h2>
    {$row['titolo']}</h2>                      
                    <h3>
    {$row['sottotitolo']}</h3>                       
                    <p>
    {$row['descrizione']}</p>";            
                
    $first false// setta la variabile a false       
            
    }           
             else {            
                
    // se no            
                // scrive le classi successive            
                
    $id $row['anno'];
                
    // chiude il div precedente prima di continuare        
                
    echo "</div>
                    <div role='tabpanel' class='tab-pane' id='
    $id'>            
                <h2>
    {$row['titolo']}</h2>                       
                <h3>
    {$row['sottotitolo']}</h3>                       
                <p>
    {$row['descrizione']}</p>";        
            }    
        }    
        else {        
            
    // se l'anno è uguale al precedente stampa solo i dati       
            
    echo "<h2>{$row['titolo']}</h2>                  
            <h3>
    {$row['sottotitolo']}</h3>                   
            <p>
    {$row['descrizione']}</p> ";   
        }
    }
    echo 
    "</div>"// chiude l'ultimo div 

  10. #10
    Utente di HTML.it L'avatar di Giuseppe1987
    Registrato dal
    Nov 2014
    residenza
    Napoli
    Messaggi
    26
    niente non riesco a sistemarlo non c'è modo di far rientrare tutto come si deve ho cercato di girarlo in tutti i modi, anche con la tua aggiunta della chiusura del div finale me l'inserisce uno dentro l'altro Schermata 2014-11-04 alle 01.23.21.jpg ..ci riprovo domani grazie di tutto se ti viene un colpo di genio per come potrei risolvere fammi sapere

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.