Salve a tutti
Qualcuno sa se si puo creare con il php un file che dato un certo numero iniziale di elementi associati ad un form mi fa scalare il numero iniziale di uno o piu elementi a seconda di quello che si selezione nel form????
Salve a tutti
Qualcuno sa se si puo creare con il php un file che dato un certo numero iniziale di elementi associati ad un form mi fa scalare il numero iniziale di uno o piu elementi a seconda di quello che si selezione nel form????
Non ho capito bene cosa intendi fare, puoi portare un esempio?
Purtroppo nn ho un esempio perchè nn so come si fa e se si puo fare provo a spiegarlo a parole e con un esempio
io ho un determinato numero di biglietti e voglio che ad ogni invio del form preparato mi si scali il numero dei biglietti anke solo di uno fin quando il numero dei biglietti nn arrivi a zero
si puo fare???
Bisognerebbe avere sotto mano un po di codice sorgente tuo... Hai detto che non sai come si fa... Ma sai un po di PHP?
Senza niente sotto non saprei cosa dirti... al massimo posso dire che per DEcrementare una variabile, devi fare:
Ciaoooo!Codice PHP:
$variabile--;
//oppure
$variabile = $variabile-1;
//oppure
$variabile -= 1;
EDIT:
Forse ti servirebbe un file dove salvare il numero a cui sei arrivato per poi decrementarlo ogni volta, oppure da database...
Ultima modifica di alemoppo : 30-10-2009 alle ore 19.16.44
regolamento altervista_______________ regolamento forum
Beh, è molto semplice.. Questo form, effettivamente invia dei dati.. Non so se ad una e-mail o a un database, comunque se lo invia al database.
Premesso che deve inviare al database un solo record, quindi una sola riga di una tabella.
Anche se invia dati a più tabelle, a te interessa la tabella nel database che riceve UNA singola riga per OGNI invio del form.
In questo modo, se tu esegui la query "SELECT * FROM tabella;" otterrai... il numero di record, ovvero di form inviati. Tu, conoscendo il numero di form inviabili, non devi far altro che porre la condizione, che, se il numero di righe affette dalla query (quindi mysql_affected_rows() dopo mysql_query("SELECT * FROM tabella;")) è inferiore al numero di form inviabili, allora il form è eseguibile e inviabile.
Lascia perdere il MySQL, la cosa che vuoi fare tu la puoi risolvere anche solo con il PHP. Coinvolgere un DB per un valore solo non credo abbia poi tanto senso... Puoi fare così:
1) Crea un file PHP con il codice che segue:
2) Richiama il file in questione con include(); o ancora meglio require(); - Avendo incluso il file di cui sopra, potrai richiamare la variabile $biglietti per effettuare i calcoli che desideri. Al termine delle operazioni, ti basterà sovrascrivere il file che hai creato salvando al suo interno il valore della variabile $biglietti in questo modo:Codice PHP:
<?php
$biglietti = n; // Dove n è il numero iniziale di biglietti;
?>
Codice PHP:
<?php
$fileid = fopen('TUOFILE.php', "w+");
if(!fileid)
die("Impossibile aprire il file");
$stringa = '<?php' . "\n";
$stringa = ' $biglietti = ' . $biglietti . "\n";
$stringa = '?>';
if(fwrite($fileid, $string))
echo("Scrittura eseguita con successo!");
else
echo("Scrittura fallita");
fclose($fileid);
?>
non ho capito una cosa il il comandolo devo mettere nel mio form e dopo fare due file php con le scritture che mi hai messo tu e nell'ultima mettere i calcoli che voglio fare???Codice PHP:
require('nome_file.php');
@mksoftware: usare un file? Cosa succederebbe se arrivassero due richieste contemporaneamente? ...MySQL lo saprebbe gestire, ma comunque la soluzione con i file non è da scartare, visto che qui su AV le query hanno un limite {se si ha un "account base"}.
Io quando uso i file, per evitare che si scriva in contemporanea, uso un trucchetto che ho inventato, ma non so fin quando risulta efficace...
Ciao!
regolamento altervista_______________ regolamento forum
Ora controllo su un manuale, se non sbaglio l'accesso ai file può essere regolato. Se è in scrittura, blocca l'esecuzione. Se non avrà un alto numero di accessi (ed in seguito ad un'analisi, questi risulteranno non concentrati in un certo intervallo di tempo) può anche correre il rischio di dover bloccare lo script e dire "ripeti l'operazione" oppure "clicka qui per riprovare". Il trucchetto postalo, vediamo se è utile al suo caso e se magari possiamo migliorarlo.
Lee sue competenze di PHP sono misere, se gli ci mettiamo anche l'SQL non credo ne uscirà fuori facilmente.
@UFFUFFUFF: Il require al pari di un include serve per richiamare un file all'interno di un documento php. La differenza tra i due comandi sta nel fatto che include, nel caso manchi il file, genera un warning. require invece blocca l'esecuzione dello script.
EDIT: Per avere accesso esclusivo ad un file si deve utilizzare la funzione flock(identificatore_file, livello_lock).
1 per LOCK_SH (lettura), 2 per LOCK_EX (scrittura), 3 per LOCK_UN (rilascio), 4 per LOCK_NB (lock non bloccante)
Ultima modifica di mksoftware : 31-10-2009 alle ore 19.44.27