Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437

    Inserimento nel database da input dinamici.

    Ciao! ho fatto un forum dinamico che contiene diversi campi dinamici.. vorrei inserire questi campi separandoli da virgola..

    Codice PHP:
    <script type="text/javascript">
    // Funzione che permette di aggiungere elementi al form (ESEMPIO 1)
    function AggiungiRiga(n_righe){
        var 
    numero_righe n_righe.value;
        var 
    box document.getElementById('box_righe');
        if(
    isNaN(numero_righe)==true){
            
    box.innerHTML='';
        }else{
            var 
    righe "";
            
    // Inserisco una riga ad ogni ciclo
            
    for(i=1i<=numero_righei++){
                
    righe righe+"<input type='text' name='titolo1[]' class='inputas' style='margin-top: 5px' placeholder='Titolo "+i+"'/>
    "
    ;
            }
            
    // Aggiorno il contenuto del box che conterrà gli elementi aggiunti
            
    box.innerHTML=righe;
        }
    }
    // Funzione che permette di aggiungere elementi al form (ESEMPIO 2)
    function AggiungiRata(rate){
        var 
    numero_rate rate.value;
        var 
    box document.getElementById('box_rate');
        if(
    numero_rate==""){
            
    box.innerHTML='';
        }else{
            if(
    isNaN(numero_rate)==true){
                
    box.innerHTML='';
            }else{
                var 
    righe "";
                var 
    importo = (parseInt(0)/parseInt(numero_rate));
                
    // Inserisco una riga ad ogni ciclo
                
    for(i=1i<=numero_ratei++){
                    
    righe righe "<input type='text' name='link1[]' class='inputas' style='margin-top: 5px' placeholder='Link "+i+"'/>
    "
    ;
                }
                
    // Aggiorno il contenuto del box che conterrà gli elementi aggiunti
                
    box.innerHTML=righe;
            }
        }

    Questo e un codice che ho trovato in rete.. andrebbe un po personalizzato però funziona quindi per il momento lascio cosi..

    Poi inserire questi campi input nello stesso campo del database separandoli da virgola..

    avevo pensato qualcosa del genere

    Codice PHP:
            $titolo1 $_POST['titolo1'];
            
    $link1 $_POST['link1'];
            
    for(
    $i=0;$i<count($titolo1);$i++){
    $titolo1[$i];
    $stitolo "$titolo1[$i], ";
    $x++;

    }
    for(
    $i=0;$i<count($link1);$i++){
    $link1[$i];
    $slink "$link1[$i], ";
    $x++;


    Dove poi nel insert metto $slink e $stitolo.. pero non funziona..

  2. #2
    Scusa ma perché creare disordine mettendo tutto in un campo quando puoi inserire ogni informazione in un campo specifico?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Infatti avevo utilizzo già questa soluzione con 25 campi numerati link1 link2 etc ma ora avrei neccessità da 1 a 500 input quindi fare 500 campi + 500 campi per il titolo e un suicidio..

    io se invece di caricare stampo il risultato cosi

    Codice PHP:

    for($i=0;$i<count($titolo1);$i++){
    echo 
    $titolo1[$i];
    $x++;
            if (
    $x != count($titolo1))
            {
                echo 
    ", ";
            }
    }

    for(
    $i=0;$i<count($link1);$i++){
    echo 
    $link1[$i];
    $x++;
            if (
    $x != count($link1))
            {
                echo 
    ", ";
            }


    riesco a seprarli da virgola e tutto funziona.. tranne che dovrei togliere l'ultima virgola ma quello è meno importante.. se ci fosse la possibilità di caricare il risultato di questo foreach sarei a cavallo

  4. #4
    perchè tutti in un campo nel db invece di fare una relazione 1:n?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    santino spiegati meglio

  6. #6
    Originariamente inviato da mario19xx
    santino spiegati meglio
    Provo ad spiegarti quanto santino intendeva (eventualmente interverrà personalmente per rettivicare).

    Se ogni "elemento" creato con il form può avere più titolo ma il numero non è predefinito dovresti crearti un'apposita tabella per contenere i titoli con una struttura di questo genere

    id_titolo, INT AI
    id_elemento, INT (relazionato con la tabella elementi)
    titolo


    In questo modo quando inserirai un "elemento" ti ricavi id_elemento (con mysql_insert_id o similare) e inserirai i vari titoli ognuno in uno specifico record della tabella titoli.

    Non credo di essere stato chiaro ma se hai praticità con db relazionali è l'abc questo.
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Si ma ho gia realizzato tutto il resto.. cambiare metodo dovrei rifare tutto.. non ce qualcosa che faccia quello che ho chiesto prima^?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Ma poi io devo semplicemente aggiundere
    Codice PHP:
    foreach($_POST['link1'] as $key => $value){ 
       
        
    $titles $_POST['titolo1'][$key]; 
        
    $links   $_POST['link1'][$key]; 
      } 
    nel database.. mi mette solo l'ultima voce estratta.. con l'echo invece me le da tutte..

    aiuto...

  9. #9
    Allora se non vuoi stravolgere il tutto un buon compromesso sarebbe salvare il serialize() dell'array $titolo proveniente dal form.

    Se poi ci tieni a salvare i titoli separati dalla virgola puoi fare

    Codice PHP:
    <?php
    function no_virgola($str){ return str_replace(','''$str); }

    $array_titoli array_map('no_virgola'$_POST['titolo1']);
    $stringa_titoli_separati_dalla_virgola =  implode(","$array_titoli);
    Ma quest'ultimo snippet non mi gusta molto
    http://www.miniscript.it
    Se ti sono stato di aiuto in qualche modo in questo forum iscriviti alla fan page di Miniscript - il mio blog di programmazione web.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    437
    Grazie ora lo provo.. come mai non ti gusta molto?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.