Problemi PHP

  • Creatore Discussione Creatore Discussione Guarnie
  • Data di inizio Data di inizio

Guarnie

Nuovo Utente
22 Apr 2014
13
0
0
ragazzi ho un problema che non riesco a risolvere, ho creato una pagina php con diverse somme da eseguire, vorrei che le somme venissero salvate ognuna con un "id" proprio e che le somme venissero fatte tutte assieme contemporaneamente, cioè io premo il bottone "calcola" e se tipo ho 2 somme da fare, mi stampa tutti e due i risultati con un id differente, in modo da poterle riutilizzare in un altra pagina. Grazie mille in anticipo per il vostro aiuto, attendo una vostra risposta :)
 
Utilizzi già un database ? Se si dovresti crearti una tabella apposita in cui salvare l'id associato e il risultato del tuo calcolo, se non lo utilizzi già, vista la semplicità della questione, potresti archiviare i dati all'interno di un file di testo.

Il senso è che una volta che clicchi "Calcola" memorizzi i dati, che puoi poi usare in un secondo momento in un altra pagina prelevandoli da questo tuo archivio (database o file di testo che sia).
 
sono un pò duro, mi puoi spiegare come fare e gestire il file di testo?. e non ho capito come fare la somma multipla nella stessa pagina, sai come aiutarmi?. Per farti capire, il risultato del mio lavoro saranno delle cifre, io su queste cifre vorrei dopo farci un analisi, quindi utilizzare i loro valori, quindi vorrei creare un bottone "calcola" che fa la somma,moltiplicazione, divisione dei vari numeri e che tutti i risultati che possono essere per esempio 5 vengano stampati e con un altro bottone mandati ad un altra pagina per essere analizzati
 
Ultima modifica:
Per il file di testo puoi usare file_put_contents() per scrivere i dati e file() per leggerli.

Per i calcoli, non c'è nessuna scienza occulta: una volta che raccogli i tuoi valori di input dal form (o da dovunque arrivino) ti basta fare una cosa del genere:
PHP:
$calcolo1 = $valore1+$valore2;
$calcolo2 = $valore3+$valore4;


Quanto alla memorizzazione sul file puoi fare molto semplicemente così:
PHP:
file_put_contents('calcoli.txt', "{$calcolo1}\n{$calcolo2}\n", FILE_APPEND | LOCK_EX);
Gli ho detto in pratica di scrivere i risultati in calcoli.txt e di mettere su una nuova riga il secondo risultato (così da avere un solo risultato per ogni riga). Infine il flag FILE_APPEND farà si che man mano che fai calcoli questi si aggiungano nel file e non sovrascrivino i precedenti.


A questo punto l'id dei tuoi risultati è il numero di riga in cui sono posizionati i valori, e nel momento in cui recuperi i valori dal file di testo:
PHP:
$risultati = file('calcoli.txt');
Avrai un array non associativo in cui in ogni indice è presente il risultato corrispettivo a quella precisa linea nel file.
 
allora parto col dire che sei un grande e mi hai fatto capire tutto alla perfezione! ti ringrazio infinitamente, la parte di richiamo e salvataggio l'ho capita. ora mi rimane un ultimo mistero, io quando premo il bottone calcola mi da il risultato, lo premo al secondo calcolo e mi da il risultato, ma il primo calcolo mi sparisce! io vorrei che nella pagina rimanessero a video tutti i calcoli, mi puoi aiutare?
 
Ti basta pescare dall'archivio testuale, puoi fare tutto con una sola riga di istruzioni:
PHP:
echo '<pre>', file_get_contents('calcoli.txt'), '</pre>';


Edit: ripensandoci ti occorrono gli id, quindi modificherei la questione così:
PHP:
$elenco = file('calcoli.txt');

foreach ($elenco as $id => $calcolo) {
    echo "ID: {$id}; Calcolo: {$calcolo}<br>";
}
 
Ultima modifica:
ora metto in pratica i tuoi aiuti, per ora ti ringrazio infinitamente! sei una bestia :)
 
ragazzi ho un altro problema, quando vado a stampare i i risultati del file di testo, che in totale sono 16, mi appaiono 16 id vuoti con annessi risultati vuoti e dopo i 16 id e risultati giusti, quindi mi appaiono 32 id e risultati che solo gli ultimi 16 vanno bene visto che i primi sedici sono vuoti, come posso risolvere?. poi ragazzi vorrei anche che una volta fatta l'analisi dei 16 risultati ottenuti il file di testo che contiene i risultati si pulisca da solo, ma non so come fare la cosa e nemmeno come gestirla tra le pagine sinceramente!!! aiutoooooo :(
 

Discussioni simili