Creazione DdT e Fatture... Problema Form.

Emix

Utente Attivo
15 Feb 2010
596
0
16
Salve a tutti... ho fatto lo stesso post in PHP ma mi è stato consigliato di rifarlo di qua.... Visto che non ho ottenuto risposte valide espongo il problema.

Sto integrando la possibilita di creare DDT e fatture... A parte il DB apposito per i contatori... La mia struttura è fatta in questa maniera :

Intestazione documento con i vari dati fiscali ed eventuale logo dell'azienda.

Corpo documento

Fine documento

Io vorrei fare in modo che ogni qualvolta inserisco un articolo nel corpo documento automaticamente mi appaia un altra riga con la richiesta di isnerimento codice... e cosi via fino ad arrivare a fine documento...
Come posso fare?
Inoltre, intestazione e fine documento conviene farli come esterni in modo che se eventualmente il documento sia di piu pagine li riprenda??

Io devo avere un form composto da 5 campi su una riga, esempio:

text1 text2 text3 text4 text5 eliminariga

Solamente che questa riga non appena finita di essere completata deve farne apparire un altra vuota da completare.... Non so se mi spiego....

cercando su internet ho trovato questo script :
http://www.donatantonio.net/script/a...nti/index.html

Praticamente fa qualcosa di simile a ciò che vorrei io, ma invece di decidere il numero di righe da inserire, le righe dovrebbero essere aggiunto solo dopo che l'utente ne ha completata una... è possibile farlo?

Grazie per le eventuali risposte...
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Non si può aggiungere un campo quando l'utente ne ha completato uno, perché non c'è modo di capire quando un campo è stato completato (a meno di non usare un timer, ma lo trovo macchinoso e poco utile). Qui trovi un esempio realizzato con jQuery che permette di aggiungere/rimuovere campi. Dovresti poterlo adattare facilmente.
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
lo sto vedendo... è possibile aumentare il numero di input a 5? i vari input che genera e che verranno poi inseriti nel DB hanno nomi diversi?
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
i valori che genera sono SEMPRE diversi? nel senso campo1 campo2 campo3 campon?

In JS è possibile fare in modo che una volta inserito un codice, controlli nel db e se c'è completa i restanti campi?
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
grazie :D

Intanto creo l'altra discussione... Gentilissimo...
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Forse so deficente io... ed è molto probabile... ma non si aggiunge nulla ... Ho provato il codice base.. questa è la pagina:

PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Creazione DdT</title>
<style type="text/css">
* { font-family:Arial; }
h2 { padding:0 0 5px 5px; }
h2 a { color: #224f99; }
a { color:#999; text-decoration: none; }
a:hover { color:#802727; }
p { padding:0 0 5px 0; }

input { padding:5px; border:1px solid #999; border-radius:4px; -moz-border-radius:4px; -web-kit-border-radius:4px; -khtml-border-radius:4px; }
</style>
<script type="text/javascript">
$(function() {
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;
        
        $('#addScnt').live('click', function() {
                $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
                i++;
                return false;
        });
        
        $('#remScnt').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();
                        i--;
                }
                return false;
        });
});
</script>
</head>
<body>
<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
    </p>
</div>


</body>
</html>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Ti sei dimenticato di includere jQuery. Inoltre dalla versione 1.9 è stato rimosso il metodo live() in favore di on(). Così funziona:
HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Creazione DdT</title>

        <style type="text/css">
        * { font-family:Arial; }
        h2 { padding:0 0 5px 5px; }
        h2 a { color: #224f99; }
        a { color:#999; text-decoration: none; }
        a:hover { color:#802727; }
        p { padding:0 0 5px 0; }

        input { padding:5px; border:1px solid #999; border-radius:4px; -moz-border-radius:4px; -web-kit-border-radius:4px; -khtml-border-radius:4px; }
        </style>

        <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script type="text/javascript">
        $(function() {
            var scntDiv = $('#p_scents');
            var i = $('#p_scents p').size() + 1;

            $('#addScnt').click(function() {
                $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);

                i++;

                return false;
            });

            $('#p_scents').on('click', '#remScnt', function() {
                if (i > 2) {
                    $(this).parents('p').remove();
                    i--;
                }

                return false;
            });
        });
        </script>
    </head>

    <body>
        <h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

        <div id="p_scents">
            <p>
                <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
            </p>
        </div>
    </body>
</html>
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
gentilissimo ed efficace come sempre.... Una domanda... Ma non mi conviene far si che invece di creare tutti campi "p_scnt" chiamare i campi come mi servono e fargli aggiugnere i numeri? quindi per esempio fare 4 campi barcode descrizione quantita codice e farli diventare ogni volta col +1 a fianco? per inserirli nel db forse è piu pratico?
Inoltre per fare una cosa del genere cambio il codice function?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Per l'inserimento nel database è consigliato un form del genere:
HTML:
<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <title>Campi multipli</title>
  </head>

  <body>
    <a href="#" id="aggiungi">Aggiungi campo</a>

    <div id="campi">
      <div class="campo" style="display: none;">
        <input type="text" name="campo[]">
        <a href="#" class="remove">Rimuovi campo</a>
      </div>
    </div>

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
    $(function() {
      $("#aggiungi").click(function() {
        elem = $(".campo").first().clone();
        elem.css("display", "block");
        elem.appendTo("#campi");
      });

      $("#campi").on("click", ".remove", function() {
        $(this).parent().remove();
      });

      $("#aggiungi").click();
    });
    </script>
  </body>
</html>
In questo modo $_POST['campo'] sarà un array contenente tutti i valori inseriti nei campi.
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
Per l'inserimento nel database è consigliato un form del genere:
HTML:
<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <title>Campi multipli</title>
  </head>

  <body>
    <a href="#" id="aggiungi">Aggiungi campo</a>

    <div id="campi">
      <div class="campo" style="display: none;">
        <input type="text" name="campo[]">
        <a href="#" class="remove">Rimuovi campo</a>
      </div>
    </div>

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
    $(function() {
      $("#aggiungi").click(function() {
        elem = $(".campo").first().clone();
        elem.css("display", "block");
        elem.appendTo("#campi");
      });

      $("#campi").on("click", ".remove", function() {
        $(this).parent().remove();
      });

      $("#aggiungi").click();
    });
    </script>
  </body>
</html>
In questo modo $_POST['campo'] sarà un array contenente tutti i valori inseriti nei campi.

Non ho capito perfettamente cosa significa... Cioè quello che tu hai fatto ora , sarebbe da sostituire al prcedente? come leggo poi i vari post?
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
anche perchè a me ogni volta che clicchi "aggiungi campo" deve creare 4 input box... Che hanno 4 funzioni diverse... esempio:


BARCODE CODICE DESCRIZIONE QUANTITA rimuovi campo

ogni volta deve ricreare questi 4 campi... alla fine nel db si dovranno avere tutti i campi inseriti qua....

La tabella è identica a quello che si legge qua... solo id è in piu ma AI...

Mi spiego?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Sì, è da sostituire al precedente. Se vuoi creare 4 campi basta modificare il prototipo:
HTML:
<!DOCTYPE html>
<html lang="it">
  <head>
    <meta charset="utf-8">
    <title>Campi multipli</title>
  </head>

  <body>
    <p><a href="#" id="aggiungi">Aggiungi campo</a></p>

    <div id="campi">
      <div class="campo" style="display: none;">
        <div>
          <label>Barcode:</label>
          <input type="text" name="barcode[]">
        </div>

        <div>
          <label>Codice:</label>
          <input type="text" name="codice[]">
        </div>

        <div>
          <label>Descrizione:</label>
          <input type="text" name="descrizione[]">
        </div>

        <div>
          <label>Quantità:</label>
          <input type="text" name="quantita[]">
        </div>

        <p><a href="#" class="remove">Rimuovi campo</a></p>
      </div>
    </div>

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script>
    $(function() {
      $("#aggiungi").click(function() {
        elem = $(".campo").first().clone();
        elem.css("display", "block");
        elem.appendTo("#campi");
      });

      $("#campi").on("click", ".remove", function() {
        $(this).parents(".campo").remove();
      });

      $("#aggiungi").click();
    });
    </script>
  </body>
</html>
In questo modo avrai quattro array: $_POST['barcode'], $_POST['codice'], $_POST['descrizione'] e $_POST['quantita'].
 

Emix

Utente Attivo
15 Feb 2010
596
0
16
si infatti sono riuscito a farlo cosi... unica cosa che ora ho difficiolta è la visualizzazione... Se non la tabulo va bene ma se devo tabularlo non ci riesco...
non capisco come strutturare il ciclo...
 
Ultima modifica:

Emix

Utente Attivo
15 Feb 2010
596
0
16
Questa è la tabulazione e la visualizzazione... :
PHP:
echo '<p> <table align=center" border="1"> <tr align="center"> <td width="130px">' . '<p><b><font color="blue"> Codice </font></b></p><font>' . $codice[$b] . '</font></td> <td width="130px">' , '<p><b><font color="blue"> Barcode </font></b></p><font>' . $campo[$a] . '</font></td> <td width="130px">', '<p><b><font color="blue"> Descrizione </font></b></p><font>' .  $descrizione[$c] . '</font></td> <td width="130px">' , '<p><b><font color="blue"> Quantita </font></b></p><font>' .  $quantita[$d] . '</font></td></p>';

Devo fare i cicli.... per fare uno alla volta è semplice :

PHP:
$conta1 = count($campo);
for($a=0;$a<$conta1;$a++){
echo $campo[$a];
}

ma io ne ho 4 di for....
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Considerato che stai iterando su un array la struttura consigliata è foreach:
PHP:
foreach ($_POST['barcode'] as $k => $barcode) {
    // $barcode è il valore barcode
    // $_POST['codice'][$k] è il valore codice
    // ...
}
 
Discussioni simili
Autore Titolo Forum Risposte Data
F NetBeans problema creazione progetto Java Windows e Software 0
A Creazione cookie e gestione accessi PHP 0
D Creazione sito e-commerce WP CMS (Content Management System) 0
A Consiglio per creazione sito web CMS (Content Management System) 1
S CREAZIONE DI SITO PER CORSI DI FORMAZIONE WordPress 2
spider81man Creazione di un UNICA tabella da più file .CSV PHP 1
M Creazione menu a tendina Javascript 3
S Download di un file in automatico dopo la sua creazione PHP 2
G creazione menu a tendina e invio a pagina php PHP 1
M Problemi con creazione maschere Presentati al Forum 1
F Creazione script Tv Presentati al Forum 1
W Creazione Cartella Classic ASP 2
A recuperare data creazione di un file PHP 6
D Neofita. Creazione applicativo prenotazione automezzi Offerte e Richieste di Lavoro e/o Collaborazione 12
L Aiuto creazione menu mancante WordPress 0
E Creazione URL per chat whatsapp WordPress 1
L Creazione di 2 o più record PHP 6
W Creazione di una griglia HTML e CSS 1
E Creazione di un sito di news PHP 16
S Scelta software/cms per creazione sito Webdesign e Grafica 6
E Creazione gestionale timesheet partendo da foglio excel Offerte e Richieste di Lavoro e/o Collaborazione 0
M Creazione notifica sonora Javascript 1
R Creazione sito eccomerce privato. Offerte e Richieste di Lavoro e/o Collaborazione 2
I Creazione programmino JAVA Offerte e Richieste di Lavoro e/o Collaborazione 0
D Difficile creazione excel di dati di grandi dimensioni Classic ASP 2
I creazione stile css HTML e CSS 3
A [Offro][retribuito] Creazione siti web/ web app (Django) Offerte e Richieste di Lavoro e/o Collaborazione 2
Stefano Migotto Creazione di un div con php o js PHP 9
G [OFFRO][RETRIBUITO] Creazione siti web e loghi professionali Offerte e Richieste di Lavoro e/o Collaborazione 0
D Creazione sito Offerte e Richieste di Lavoro e/o Collaborazione 0
D CREAZIONE E GESTIONE SITO E-COMMERCE Offerte e Richieste di Lavoro e/o Collaborazione 2
C [WordPress] Retribuzione creazione Sito Web vetrina Discussioni Varie 3
I [Javascript] Creazione di una piccola libreria e integrazione in angular Javascript 2
S [OFFRO] Creazione di programmi per la modifica automatizzata di testi Offerte e Richieste di Lavoro e/o Collaborazione 0
T [php] problema creazione query select-where PHP 5
Daniele_Carrara [PHP] Creazione Carrello PHP 1
G Creazione Landing Page Offerte e Richieste di Lavoro e/o Collaborazione 2
P [HTML] Creazione pagina web da dove iniziare HTML e CSS 2
L Creazione form html HTML e CSS 3
Monital [PHP]Far riconoscere stringa o numerico epr creazione campo tabella PHP 6
W [PHP] Creazione classe PDO PHP 4
K [PHP] Creazione di Calendario con orario PHP 4
V [CREO] Creazione profilo INSTAGRAM ad hoc per SVILUPPO MARKETING aziendale Offerte e Richieste di Lavoro e/o Collaborazione 0
Store creazione campo search in php PHP 1
Store creazione barra search sito web Presentati al Forum 3
C Creazione di una funzione per il filtraggio dei campi di un db Presentati al Forum 0
F Info aws ed ec2 per creazione sito vendita orodotti digitali Server Dedicati e VPS 0
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
Web93 Creazione spedizione a pezzo - sito wordpress woocommerce WordPress 2
W Creazione Wallet per Bitcoin Offerte e Richieste di Lavoro e/o Collaborazione 6

Discussioni simili