[PHP] Aiuto per gestione file CSV

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao,
purtroppo non funziona,
l'ho risolto così:

PHP:
$sel = "1";

if (isset($_GET['id'])) {
include_once('inc/connect.php');
    $linecsv = $_GET['id'];           
    $linecsv = substr("$linecsv",5);     
    $db = mysql_query("UPDATE tavoli SET selected='$sel' WHERE id='$linecsv' "); 

    header( "refresh:0;url=index.php" ); 

    } else{
     
    header( "refresh:0;url=errore.php" );
 
}

Adesso funziona tutto con protezioni, controlli ecc.
L'ultimo problema che mi rimane da risolvere è questo:
Ho bisogno che quando l'utente entra all'interno di una pagina parta un timer, alla partenza del timer l'utente deve poter continuare a lavorare sulla pagina, quindi riempire un form e confermare la sua scelta, se trascorsi 2 minuti l'utente non ha completato le operazioni devo effettuare un aggiornamento sul database ed uscire da questa pagina automaticamente.
Stessa cosa deve accadere se l'utente dopo essere entrato sulla pagina la abbandona senza aver confermato la sua selezione.
il problema è che l'utente arriva su questa pagina dopo avere effettuato una selezione, quindi ha impegnato un posto, questo impegno viene memorizzato sul database, pertanto se non viene confermato io devo riaggiornare il database per rendere nuovamente il posto disponibile.
Qualche idea ?
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
per fare che l'utente se non opera venga riinviato dove vuioi questo devi risolverlo lato client, ti serve js o jequery, ti convine postare nella sezione adatta.
per riaggiornare invece il record in cui l'utente ha settato a "O" ma non ha proseguito potresti anche risolverlo lato server.
in questo caso dovresti aggiungere un campo alla tabella chianmato es. tempo_prenota e aggiornarlo al momento in cui l'utente opera, poi per azzerare ti fai una (o se l'hai di gia) una pagina in cui vedi i record e i record con
verifichi i record con "O"
che non siano con 1
leggi il tempo della registrazione
se questo è minore di tot minuti a quello del tempo attuale uppi automaticamente il record a "L" e il temp da vedere.
se hai pazienza ti faccio uno schema che è piu semplice che spiegare a parole
 

piero60

Utente Attivo
26 Gen 2015
71
2
8
Ciao Borgo Italia,
certo ho tutto il tempo che serve, sto costruendo una applicazione che permetta di riservare dei tavoli nel più disparato tipo di locali, teatri, sale riunioni ecc.
Ci sono moltissime applicazioni che fanno questo, ma "almeno io" non ho trovato nulla che permetta di vedere la pianta del locale, cliccare direttamente sul tavolo o poltrona o altra cosa che si desidera prenotare, che preveda appunto la selezione temporanea al click, insomma qualcosa di automatizzato. Tutto quello che ho visto in giro, o sono i classici form nudi e crudi di prenotazione, o siti che offrono servizi a pagamento e che comunque non fanno esattamente ciò che sto tentando di realizzare io.
Praticamente è tutto quasi ok, mappe controlli, salvataggio dati, archiviazione delle informazioni di chi prenota.
Mi restano ancora da fare 2 cose, una è quella di cui stiamo parlando e l'altra è quella di potere riscrivere al termine di un evento, "per esempio una serata in discoteca" alcuni campi di una intera tabella del database, per esempio i famosi
L ~ O - 1 ~ 0 ed altri campi presenti nel database utilizzati per le prenotazioni relative a quel particolare evento.
Devo azzerare solo alcuni campi in quanto tutti gli altri contengono i dati relativi alla mappa del locale.

Solo che così facendo ho un problema che è relativo all'id autoincrement, non ho trovato un modo, se non attraverso poliadmin per far ripartire l'id da 1.

Per quanto riguarda l'abbandono della pagina potrei fare una cosa del genere:
creare un campo dove nel momento in cui viene fatta una selezione scrivo ora,minuti e secondi prelevandoli dal server.
ogni volta che un utente accede alla pagina di prenotazione per prima cosa controllo il database e vedo se tutti i record selezionati sono in stato di selezione da 3 minuti, se questo tempo è stato superato considero che la pagina è stata abbandonata e quindi l'utente non ha completato la prenotazione e quindi li risetto liberi, se non sono trascorsi i tre minuti lascio tutto come si trova.
Tieni presente che non parliamo di database con migliaia di record, al massimo possono essere 100 / 300 quindi sono operazioni abbastanza veloci.

Che ne pensi?
 
Ultima modifica:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intanto per l'id: generalmente non si fa ripartire da 1, non serve, tieni presente che se setti l'id a int lungo 6 prima di usare tutti gli id
ne hai disponibili 999.999 cioe un milione, se lungo 8 99.999.999 cioe 100 milioni..., quindi non dovrebbe essere un problema.
poi per il resto spero qui di spiegarmi bene
PHP:
<?php
/*aggiungi un campo alla tabella
a me piace usare i tempi in timestamp quindi puoi settarlo così
tempo int(15) not null default 0
(il timestamp è espresso in secondi, numero intero)
*/
//......
//al momento in cui l'utente uppa da L a O
$adesso=time();//tempo attuale in cui l'utente sta selezionando in secondi
//non mi ricordo come si chiama il campo L O metto un nome a caso, uppi da L a O e il tempo
$query="UPDATE tavoli SET prima_prenotazione='O',tempo= $adesso  WHERE id='$linecsv'";//da L a O
//USA MYSQLI, tra poco devi rifare tutto
//.....
?>
quando leggi i record (o richiami una pagina apposita di pulizia) per le tue esigenze automaticamente riporti i campi al valore iniziale
esempio tutti quelli con "O" ma ancora 0 che non sono stati impegnati (deverso da 1) dopo due minuti
PHP:
<?php
//....
$tuo_adesso=time();
//2 minuti = 120 secondi
//uppi (da verificare)
$query="UPDATE tavoli SET prima_prenotazione='L', tempo=0 WHERE ($tuo_adesso-tempo) > 120 AND conferma !=1";
/*cioè chiamando la pagina per vedere le varie prenotazioni automaticamente
uppi tutti i record non confernati e il cui tempo di prima prenotazione sia superiore a 2 minuti
al tempo in cui stai guardando i record e che non siano confermati
comunque è una query da verificare non ho provato se funziona
*/
// e fai tutto quello che devi fare
?>
guarda che ho messo i nomi dei campi a caso
p.s.
dal timestamp poi puoi ricavarti volendo anche la data in formato italiano gg/mm/aaaa, quindi puo esserti utile per eliminare tutti quei record obsoleti.
ribadisco inoltre: passa alle mysqli, mi sembra che tu stia facendo un lavoro impegantivo e rifarlo perche le vecchie mysql non funzionano più mi sembra lavoro buttato
 
Discussioni simili
Autore Titolo Forum Risposte Data
A Aiuto per pagina php PHP 0
L Aiuto per programma web php/mySQL PHP 2
S [PHP] Aiuto creazione form php per completamento modello word PHP 1
W [PHP] Un aiuto per il mio primo "Multithread" PHP 0
L [PHP] aiuto per installazione mrbs PHP 0
G Piccolo aiuto per php mail PHP 2
G Aiuto! Studente cerca aiuto per un codice PHP PHP 1
S aiuto per script PHP/OOP PHP 2
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
Task Mc Aiuto per reindirizzamento in php PHP 7
R Tabella database [era: Aiuto per php] PHP 34
S cerco aiuto per php PHP 4
A Form per alimentare un DB con PHP: aiuto!! PHP 17
R Aiuto per formmail.php PHP 10
Y Aiuto per modifica php PHP 0
V AIUTO per configurazione file PHP PHP 31
U aiuto per script php inviare una mail PHP 1
L aiuto per creare un gdr in php Altri Annunci 6
S aiuto per flash e php PHP 1
G Aiuto per iniziare con PHP PHP 2
C Opzioni php-nuke: era [aiuto per favoreee] PHP 2
L Aiuto per PHP PHP 11
I Aiuto php Dependent Lookup PHP 0
A Aiuto php colore diverso PHP 10
C Aiuto compiuto scuola PHP/MySQL PHP 2
Michelebozzo [PHP] Rimuovere pubblicazione nome pagina ... aiuto! PHP 7
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
P [PHP] Browser game, aiuto a tempo libero. Offerte e Richieste di Lavoro e/o Collaborazione 0
C [PHP] Chiedo un aiuto, Array multidimensionale. PHP 3
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
N [PHP] Aiuto PHP 1
M [PHP] Aiuto su inner join PHP 10
J [PHP] richiesta di aiuto PHP 3
F [PHP] Aiuto SELECT DISTINCT / GROUP BY PHP 17
F [PHP] Aiuto array PHP 2
S [PHP] Aiuto! Non riesco a richiamare una variabile PHP 2
N [PHP] aiuto su variabili e colori PHP 4
C [PHP] Aiuto su visualizza foto da cartella PHP 6
P [PHP] aiuto creazione login PHP 16
S PHP: Aiuto con upload immagini che si auto tuotano PHP 24
A aiuto php PHP 3
A php aiuto PHP 2
C Aiuto su script php PHP 2
F Aiuto PHP : Parse error PHP 1
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
R Aiuto creazione php PHP 0
G Aiuto modifica PHP PHP 1
T Aiuto con script PHP PHP 0
S Aiuto con PHP! PHP 4
D Aiuto Ajax da PHP con codifica json Ajax 0

Discussioni simili