Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    31

    Inserimento array dinamici

    Buongiorno a tutti.
    Ho la necessità di inserire degli array all'interno di un array multidimensionale a seconda delle richieste del client.
    Nello specifico, l'utente deve inserire 3 dati:
    -Lunghezza
    -Quantità
    -Codice
    Questi dati vengono inseriti all'interno di caselle di testo.
    Il mio problema è quello di creare un button chiamato "Aggiungi" che permetta di inserire altre caselle di testo con le stesse chiavi delle prime 3 e far si che tutti questi dati vengano poi memorizzati in un array multidimensionale.
    Questo array sarebbe all'incirca così:

    $fabbisogni= array (
    'Lunghezze' =>
    array (),
    'Quantita' =>
    array (),
    'Codici' =>
    array ()
    );

    Grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Puoi fare in due modi:
    1. con php, mettendo due submit: una ti salva/elabora la richiesta e l'altra ti aggiunge una righa.Es:
    Codice PHP:
    <?php
    $data 
    = (isset($_POST['data'])) ? $_POST['data'] : [];
    $newRow true;
    $nextIndex count($data);
    if(isset(
    $_POST['save'])){
      
    $newRow false;
      echo 
    "Salvo/eleboro richiesta<br/>";
      
    var_dump($data);
    }

    ?>
    <form method="post">
      <?php foreach($data as  $index => $value): ?>
        <input type="text" value="<?php echo $value['lunghezze'?>" name="data[<?php echo $index ?>][lunghezze]">
        <input type="text" value="<?php echo $value['quantita'?>" name="data[<?php echo $index ?>][quantita]">
        <input type="text" value="<?php echo $value['codici'?>" name="data[<?php echo $index ?>][codici]"><br/>
      <?php endforeach ?>
      <?php if($newRow): ?>
        <input type="text" value="" name="data[<?php echo $nextIndex ?>][lunghezze]">
        <input type="text" value="" name="data[<?php echo $nextIndex ?>][quantita]">
        <input type="text" value="" name="data[<?php echo $nextIndex ?>][codici]"><br/>
       <?php endif ?>
        <input type="submit" value="Aggiungi" name="add" />
        <input type="submit" value="Invia" name="save" />
    </form>
    PS: Se vuoi l'array come hai scritto dovresti cambiare la logica per "ricrearti" gli input, in quando un semplice foreach non basta.
    In questo esempio ho semplificato la struttura dei dati, ma il concetto è quello.


    2. Aggiungere i nuovi campi con javascript (es. con jquery per risparmiarti la scrittura di un po' di codice)...chiedi però nella sezione javascript

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Aggiungo (che non posso modificare il messaggio senza perdere tutto)...con javascript ti semplificherebbe anche eventuali modifiche, tipo l'eliminazione di una "riga"

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    31
    Grazie infinite è esattamente ciò che mi serviva

Tag per questa discussione

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.