Inserimento ciclico dati

Ciao a tutti

per prima cosa scusatemi se avete letto questo stesso post su qualche altro NG, ma visto che non sono riuscito ancora a risolvere il problema, se mi è permesso vorrei esporlo anche qui...............non sia mai che qualcuno mi sappia aiutare :)

Vorrei ottenere una tabella con campi inserimento dati per mezzo di un ciclo FOR , però questo non deve essere eseguito fino alla fine, ma deve essere messo diciamo in pausa fino a quando con il pulsante di invio dati del form o con altro metodo oltre a manipolare i dati, non lo faccio ripartire.

In pratica assumendo che devo fare un ciclo 3 volte, al primo giro vorrei ottenere una tabella di campi inserimento dati con tanto di pulsante di invio, ma solo dopo aver premuto questo pulsante potrei ricaricare la tabella (che avrebbe gli stessi campi con indice 2).

Si può fare con PHP ?

Sono partito da questa base (vi posto il codice)

<form action="inserimento_dati.php" method="post">

<table width="100%" height="100%" border="0" cellpadding="3" cellspacing="3">

<tr>

<td colspan="2" align="center">Inserimento dati per database concorso.</td>

</tr>

<?php

$numero_immagini=3;

for ($ciclo=1;$ciclo<=$numero_immagini;$ciclo++){

include('maschera_inserimenti.php');?>

<?php

}

?>

</table>

</form>

---maschera_inserimenti.php--- //il codice lho messo in questo file a parte solo per isolare le due cose

<tr>

<td width="30%" align="left">Inserimento Record Nr <?php echo $ciclo ?></td>

</tr>

<tr>

<td width="30%" align="left">Nome dell'autore</td>

<td width="70%" align="left"><input type="text"size="50" Name="nome_utente"<?php ($ciclo);?>></td>

<tr>

<td width="30%" align="left">Descrizione foto</td>

<td width="70%" align="left"><textarea name="Descrizione"<?php ($ciclo);?> cols="50" rows="10"></textarea>

</td>

</tr>

<tr>

<td><br></td>

<td align="left"><input type="submit" name="AggiungiRecord"<?php ($ciclo);?>

value="Aggiungi"><?php Print ("( Record ) $ciclo");?>

</td>

</tr>

Ovviamente se lo mando in esecuzione, il ciclo for viene completato fino alla fine e sulla pagina mi ritrovo per 3 volte gli stessi campi di inserimento (anche se con indice diverso).

Invece come detto prima vorrei proprio caricare i campi la prima volta, l'utente li compila, e dopo aver premuto il pulsante Aggiungi salvo i dati i un database (Record NR 1) e poi ricarico gli stessi campi la seconda volta, e dopo unaltra pressione del pulsante Aggiungi risalvo i dati nel database (Record NR 2) e per lultima volta ricarico gli stessi campi che verranno nuovamente compilati dall'utente e salvati come (Record NR 3). (sempre che poi si possa fare un refresh sulla pagina html ospita questi campi)

In ogni caso se avete qualche suggerimento in merito,o un'altro sistema per ottenere questo, vi ringrazio.

Scusate gli errori di codice e di concetto, ma in effetti sto ancora cercando di capire come fare (se possibile) :)

A presto

Paolo

inviato 9 anni fa
antares
X 0 X

il PHP viene eseguito sul server mentre i bottoni vengono premuti sul client quindi non è immediato far interagire queste due componenti.

Se vuoi fare qualcosa con PHP a seguito di una azione dell'utente allora sei costretto ad inviare una richiesta al server. Le richieste sono di 2 tipi: GET e POST, ovvero link e submit di form. Quindi a seguito dell'interazione dell'utente con la pagina l'unica cosa che puoi fare per comunicare al PHP tale situazione è inviare una GET o una POST.

Tu vuoi far interagire il ciclo FOR (codice PHP) con la pressione di un tasto (azione sul client) e questa cosa non può essere fatta senza una chiamata al server (GET o POST).

La cosa si complica perché quando il browser effettua una GET o una POST cancella la pagina corrente ed attende una nuova pagina, quindi perde il risultato della precedente elaborazione PHP.

Quindi se vuoi far visualizzare qualcosa in più a seguito della pressione di un tasto devi far si che il PHP oltre a mostrare i nuovi contenuti rigenera ache quelli precedentemente mostrati.

 :bye:

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni

grazie per la risposta.

Sapevo che con la pressione del tasto avrei dovuto interagire con il server, e infatti nella mia spiegazione alla pressione del tasto inserisco i dati in un database e questo grazie al POST.

Purtroppo però anche a seguito della tua conferma, vedo di difficile soluzione inserire i dati ciclicamente,e non capisco nemmeno l'ultima frase che hai scritto.

Devo rigenerare i contenuti precedenti?? In che senso??

Ammettendo che tutto funzioni, al primo ciclo i dati sono già inseriti nel database, l'unico problema è come rigenerare la pagina di inserimento, dicendogli pure che questo è il ciclo NR2.

Comunque Gianni, il mio approcio puo' essere del tutto errato, e potrei generare i campi in una volta sola (come adesso avviene).

Solo che immagina un campo per il 'nome' uno per 'l'indirizzo'......ecc per un totale di (e la faccio corta) 5 campi generati per un ciclo di 10 (ogni ciclo un record), mi ritrovo sulla pagina 50 campi.........un disastro :)

Non c'è altro sistema eh???

Di nuovo grazie comunque, a presto

Paolo

risposto 9 anni fa
antares
X 0 X

Perché non fai inserire 5 campi alla volta, con 10 invii di form?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

OOOPpppssss

ma tu intendi dire i primi 5 campi dentro una form e poi nuovamente altri 5 campi dentro un'altra form???

Se fosse cosi è esattamente quello che avrei voluto fare.

Il mio obiettivo era fare una prima compilazione e invio dati (con indice 1), poi nuovamente gli stessi campi ma con indice 2, e via dicendo fino alla fine del ciclo.

Se ho capito male scusami e dimmi cosa intendi dire, ma in ogni caso se la cosa fosse troppo complessa, ti ringrazio per l'interessamento, semmai ripiego con l'inserimento diretto su database.

Oggi ho fatto comunque delle prove, e anche avendo tutto il ciclo di campi su una pagina, poi non riesco ad indicizzare i Record (sempre si possa fare); ma forse qui c'è un'errore nella scrittura del codice.

In verità Gianni coem ho detto poco fa, io potrei fare compilare i campi direttamente on line sul database del server, ma preferivo elengantemente farlo fare da una pagina PHP, presumendo anche la poca dimestichezza da parte di chi lo utilizza, nel maneggiare il Mysql.

Grazie di nuovo

Paolo

risposto 9 anni fa
antares
X 0 X

non sai come realizzare una sequenza di form da far riempire?

risposto 9 anni fa
Gianni Tomasicchio
X 0 X

Gianni :)

Certo che se andiamo avanti cosi non finiamo mai :)

Comunque grazie al tuo suggerimento del tuo post precedente adesso cambiando un pò le carte in tavola invio i dati al database, e poi ricarico la pagina..........quindi anche se non è come avrei voluto fare, diciamo che ho risolto.

Ad ogni modo se tu per form e campi intendi riferirti a quella porzione di codice che ho inviato nel primo post dove si vede un form..........beh allora credo che ne sono capace :P in fondo era scritto :)

mmmmmmmm altrimenti avresti dovuto spiegarmelo O0

Gianni ad ogni modo, grazie per le risposte (sei stato l'unico del resto), prossimamente presumo dovrò ricorrere ancora al NG, se ti va resta "sintonizzato".

Grazie anche a tutti quelli che hanno letto :)

Ciao ;)

Paolo

risposto 9 anni fa
antares
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda