Visualizzazione risultati 1 fino 16 di 16
Like Tree1Likes
  • 1 Post By GraphOGLRisorse

Discussione: Creazione dinamica buttoni

  1. #1
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito Creazione dinamica buttoni

    Salve a tutti,


    ero indeciso su dove postare questa discussione, sezione Javscript o Php?, ho optato per la seconda, se in caso e' errata allora chiedo cortesamente che venga spostata.

    quello che vorrei ottenere sono dei bottoni dinamici, che vengono creati solo se e' presente un dato nella lista , cioe' la variabile
    Codice PHP:
    <?php echo $anni;?>



    questo e' il codice html dei pulsanti, come vedete sono inseriti manualmente

    Codice:
    <div id="filters" class="btn-group" role="toolbar" data-toggle="buttons"
    					style="margin-left: 60px; margin-top: 20px; margin-bottom: 20px">
    					<label style="float:left; margin-right:10px;">Filter records:</label>
    
    					<label class="btn btn-primary active"><input type="radio" name="filterbox" id="chkAll" value="" selected>All</label>
    					<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk018" value="18">18</label>
    					<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk019" value="19">19</label>
    					<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk020" value="20">20</label>
    					<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk021" value="21">21</label>
                    	<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk022" value="22">22</label>
    					<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk023" value="23">23</label>
                    	<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk024" value="24">24</label>
                    	<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk025" value="25">25</label>
                    	.........
                    	</div>
    tabella in cui e' inserito codice php

    Codice:
    <table id="actoreta" class="table" >
    					CODICE PHP INSERITO
    					
    					</table>
    filtro abilitato sulla colonna 7 e sul campo
    Codice PHP:
    <?php echo $anni;?>
    codice javascript

    Codice:
    <script type="text/javascript">
            var arr = [];
            $('#filters input').change(function(){
                    if (this.checked) {
    					var table = $('#actoreta').DataTable();
                        table
    					
    					.column(7)
    					.search($(this).val(), false, false, false)
    					.draw();
    
                            
                    } else {
                        arr.splice(arr.indexOf(this.value),7);
                    }
    
                    }
    );
    
    
        </script>

    grazie
    Ultima modifica di blackskyisback : 29-08-2020 alle ore 23.28.29

  2. #2
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    17,777

    Predefinito

    Dovresti utilizzare un if, se quindi la condizione (quale?) con la variabile $anni corretta, mostrare (ad esempio con una echo) il codice HTML che hai mostrato. Visto che i vari tasti sono identici e mi sembra cambi solamente l'id e il numero del value, ti consiglierei di stampare il tutto con un ciclo (for o while), cos se vorrai modificare successivamente qualcosa, non dovrai farlo n volte.

    Hai gi provato? Hai trovato difficolt? Quali?

    Ciao!

  3. #3
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    Ciao alemoppo,

    premetto che non sono un programmatore, solo passione, sto imparando da solo cercando di capire il linguaggio php,

    io avevo pensato nel codice html d'inserire la variabile
    Codice PHP:
    $anni 
    come punto di partenza

    Codice HTML:
    <label class="btn btn-primary"><input type="radio" name="filterbox" id="chk018" value=" <?php echo $anni;?> "> <?php echo $anni;?> </label>
    per il resto non capisco come strutturarlo
    Ultima modifica di blackskyisback : 30-08-2020 alle ore 14.19.48

  4. #4
    GraphOGLRisorse  connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,098

    Predefinito

    Salve,
    alemoppo intendeva un impostazione di questo tipo:
    Codice PHP:
    <?php
    if($anni!==null)
    {
       echo 
    '<div id="filters" class="btn-group" role="toolbar" data-toggle="buttons" style="margin-left: 60px; margin-top: 20px; margin-bottom: 20px">
             <label style="float:left; margin-right:10px;">Filter records:</label>
             <label class="btn btn-primary active"><input type="radio" name="filterbox" id="chkAll" value="" selected>All</label>'
    ;
      for(
    $i=18;$i<76;$i++)
      {
        echo 
    '<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk018" value="'.$i.'">'.$i.'</label>';
      }
      echo 
    '</div>';
    }
    ?>
    Cordiali saluti.
    blackskyisback likes this.

  5. #5
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Salve,

    [/php]

    Cordiali saluti.
    Grazie GraphOGLRisorse,

    il codice da te postato dovrebbe avere la posizione in alto perche' sotto c'e' table e poi viene eseguita la query,
    come passarlo sopra per leggere il php?
    Ultima modifica di blackskyisback : 30-08-2020 alle ore 15.29.26

  6. #6
    GraphOGLRisorse  connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,098

    Predefinito

    Se intende visualizzarlo sopra la tabella, basta mettere il codice con i tag php prima della tabella.

    Era questo che intendeva?

    Cordiali saluti.

  7. #7
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    se lo inserisco prima della tabella il codice non viene eseguito perche il php si trova sotto della tabella

    ho provato a metterlo sotto vicino alla variabile $anni e non funziona, crea valori duplicati esendo dentro la tabella e cosa piu' importante tutti i pulsanti vengono creati, invece dal 70 al 75 la variabile $anni e' vuota

    se serve posso postare il codice completo sul mio cloud

  8. #8
    GraphOGLRisorse  connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,098

    Predefinito

    Si, forse d'aiuto vedere il codice intero.

    Se per lei non e un problema, pu mandarlo tramite larea d'invio materiale, presente nella home del mio sito.
    http://graphoglrisorse.altervista.org

    Faccia lei come preferisce.

    Cordiali saluti.

  9. #9
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Si, forse d'aiuto vedere il codice intero.

    Se per lei non e un problema, pu mandarlo tramite larea d'invio materiale, presente nella home del mio sito.
    http://graphoglrisorse.altervista.org

    Faccia lei come preferisce.

    Cordiali saluti.
    inviato, grazie ancora per il suo aiuto

  10. #10
    GraphOGLRisorse  connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,098

    Predefinito

    Ho risolto il problema usando css con i flex-box.

    Questa classe css per i flex-box:
    Codice:
    .FlexBox {
      display: flex;
      flex-wrap: wrap;
      align-content: center;
      //background-color: #CCCCCC;
      height: 400px;
    }
    .FlexBox > div {
      //background-color: #FF6600;
      color: #FFFFFF;
      width: 100px;
      margin: 10px;
      text-align: center;
      line-height: 75px;
      font-size: 30px;
    }
    Questa la tabella riposizionata con con i css e applicazione del flex-box:
    Codice HTML:
    <table style="position:relative;top:80px;" id="actoreta" class="table FlexBox" >
    
    <!-- resto del suo codice (html + php) -->
    
    </table>
    Questa e l'area con i check, messa come codice sotto alla tabella, riposizionata con i css:
    Codice PHP:
    <?php
    if($anni!==null)
    {
       echo 
    '<div id="filters" class="btn-group" role="toolbar" data-toggle="buttons" style="position:relative;top:-420px; margin-left: 60px; margin-top: 20px; margin-bottom: 20px">
             <label style="float:left; margin-right:10px;">Filter records:</label>
             <label class="btn btn-primary active"><input type="radio" name="filterbox" id="chkAll" value="" selected>All</label>'
    ;
      for(
    $i=18;$i<76;$i++)
      {
        echo 
    '<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk018" value="'.$i.'">'.$i.'</label>';
      }
      echo 
    '</div>';
    }
    ?>
    Se preferisce la versione modificata del suo file, me lo faccia sapere, che le metto il link qui sul forum o in un messaggio privato.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 30-08-2020 alle ore 19.33.09

  11. #11
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    GraphOGLRisorse Ciao,

    molto gentile ad avermi aiutato, si, se gentilmente mi manderebbe la versione modificata in PM,

    Grazie ancora

  12. #12
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    Niente, non funziona

    la visualizzazione risulta sbagliata




    inoltre i bottoni che dovrebbero essere dinamici vengono invece creati tutti anche se la variabile $anni e' vuota



    Ultima modifica di blackskyisback : 31-08-2020 alle ore 07.32.25

  13. #13
    GraphOGLRisorse  connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,098

    Predefinito

    Allora, le prove la avevo fatte con il blocco originare, quello senza il ciclo, e funzionava, quindi non mi ero accorto che da php lo spostamento non veniva appilicato.

    Ho rifatto il loop in js e cos lo spostamento avviene:
    Codice HTML:
    <script>
    var tmp = '<div id="filters" class="btn-group" role="toolbar" data-toggle="buttons" style="position:relative;top:-420px; margin-left: 60px; margin-top: 20px; margin-bottom: 20px">'+
               '<label style="float:left; margin-right:10px;">Filter records:</label>'+
               '<label class="btn btn-primary active"><input type="radio" name="filterbox" id="chkAll" value="" selected>All</label>';
      for(i=18;i<76;i++)
      {
        //var anni_js[i] = "<?php echo($valori_anni);?>"; // conversione variabile da php a js 
        //if(anni_js[i] != 0) // rilevamento pulsanti attivi 
        tmp += '<label class="btn btn-primary"><input type="radio" name="filterbox" id="chk018" value="'+i+'">'+i+'</label>';
      }
      tmp += '</div>';
      
    document.write(tmp);
    </script>
    Riguardo la questione che se il valore era nullo non spariva, avevo capito diversamente. Comunque per poterlo fare, bisogna avare un array numerico e non una variabile come $anno, che una stringa con codice html, quindi non pu essere usata direttamente per determinare quali pulsanti si vedono e quali no.

    Intnato faccia un p di prove lei, poi se non riesce afar funzionare la cosa, mi mostra quanto ha fatto in merito.

    Cordiali saluti.
    Ultima modifica di GraphOGLRisorse : 31-08-2020 alle ore 17.28.31

  14. #14
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    Scusi, mi puo' reinviare il codice modificato funzionante via pm?

    Grazie

  15. #15
    GraphOGLRisorse  connesso ora AlterGuru
    Data registrazione
    14-02-2015
    Messaggi
    1,098

    Predefinito

    Si, penso di poterlo fare, non dovrebbe essere niente di particolarmente complicato.

    Comunque se me lo consente, vorrei fare le cose con calma. Qundo ce l'ho pronto, glie lo invio in privato.

    Cordiali saluti.

  16. #16
    blackskyisback non  connesso Utente giovane
    Data registrazione
    29-05-2012
    Messaggi
    95

    Predefinito

    Citazione Originalmente inviato da GraphOGLRisorse Visualizza messaggio
    Si, penso di poterlo fare, non dovrebbe essere niente di particolarmente complicato.

    Comunque se me lo consente, vorrei fare le cose con calma. Qundo ce l'ho pronto, glie lo invio in privato.

    Cordiali saluti.
    Certo, faccia con comodo, senza fretta e poi me lo invii in PM

    Grazie tante

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •