Pagina 2 di 2 PrimoPrimo 12
Visualizzazione risultati 31 fino 39 di 39
Like Tree2Likes

Discussione: Contare prenotazioni per ogni evento

  1. #31
    Guest

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    N.B.: alla tabella "Prenotazioni" ho aggiunto la colonna "idprenotazione" che dovresti settare come chiave, comunque trovi tutto nel file "tabelle.txt"
    PS: Non serve a nulla, non ti aggiunge nessuna funzionalità, e, dimenticando di avere già una chiave (composta, idevento+idcliente, che serve proprio allo scopo di individuare univocamente un record) avresti solo un errore.
    Giusto per cronaca, una chiave composta come quella usata (idevento + idcliente) permette di avere idevento duplicati, idcliente duplicati, ma non permette di duplicare la COPPIA idevento + idcliente.
    Ultima modifica di vplaza : 28-01-2014 alle ore 22.42.49

  2. #32
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    PS: Non serve a nulla, non ti aggiunge nessuna funzionalità, e, dimenticando di avere già una chiave (composta, idevento+idcliente, che serve proprio allo scopo di individuare univocamente un record) avresti solo un errore.
    Non ho dimenticato le due chiavi, semplicemente ho consigliato di attribuire a idprenotazione la key della tabella levando le altre due
    In questo modo hai un ID per ogni prenotazione: questo ti permette di gestirle più semplicemente e, per ogni prenotazione, ogni cliente avrà un ID diverso e non sempre lo stesso, quindi, nell'utilizzo pratico, il cliente chiama il locale chiedendogli di eliminare la prenotazione n° 20. Procedimento: ADMIN > Elimina prenotazione > 20 > fatto.
    In quel modo invece, l'amministratore prima deve cercare il cliente con quell'id, poi si deve far dire qual è l'evento a cui non parteciperà più, poi deve trovare la riga con questi esatti valori per poi eliminare la prenotazione. Personalmente lo vedo più complicato.
    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Giusto per cronaca, una chiave composta come quella usata (idevento + idcliente) permette di avere idevento duplicati, idcliente duplicati, ma non permette di duplicare la COPPIA idevento + idcliente.
    Per quello basta un if, li hanno creati apposta

    Ciao!

  3. #33
    Guest

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Non ho dimenticato le due chiavi, semplicemente ho consigliato di attribuire a idprenotazione la key della tabella levando le altre due
    In questo modo hai un ID per ogni prenotazione: questo ti permette di gestirle più semplicemente e, per ogni prenotazione, ogni cliente avrà un ID diverso e non sempre lo stesso, quindi, nell'utilizzo pratico, il cliente chiama il locale chiedendogli di eliminare la prenotazione n° 20. Procedimento: ADMIN > Elimina prenotazione > 20 > fatto.
    In quel modo invece, l'amministratore prima deve cercare il cliente con quell'id, poi si deve far dire qual è l'evento a cui non parteciperà più, poi deve trovare la riga con questi esatti valori per poi eliminare la prenotazione. Personalmente lo vedo più complicato.
    Guarda, guarda. Prima la tabella prenotazioni non serviva per nulla (li metto in un campo in coda al cliente) e adesso ti senti libero pure di analizzare gli indici.
    Guarda che il codice si scrive in funzione della sua praticità, sicurezza ed affidabilità (su questo torno dopo), mica per la sua semplicità o nel risparmiare qualche riga di codice.

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Per quello basta un if, li hanno creati apposta

    Ciao!
    Ti fidi così tanto del codice? Se bastano gli IF, perchè mai metti le chiavi? Non basta un IF per verificare se il record è già inserito?
    Ah già, devi fare un'altra query! Che sbadato!
    Ma ti faccio notare una cosa.
    craiamo la tabella prenotazioni come dici tu, con un campo IDPrenotazione che fa da chiave e togliamo la chiave composta. Sei sicuro che il cliente X per l'evento Y non faccia più di una prenotazione? Qualcosa del tipo

    Codice:
    IDPrenotazione | IDCliente | IDEvento | posti ...
    1                                1              1               5
    2                                1              1               25 ...
    L'univocità degli indici c'è, delle righe no. Sei sicuro di non incappare in una eventualità del genere?
    Già hai usato gli IF (ma avrai quindi fatto una query prima, quindi DUE query per OGNI inserimento piuttosto che una. Già bisogna risparmiare codice). Magari, per un motivo o per un altro una query viene eseguita due volte e ti ritrovi con righe duplicate. Cosa che poi ti costringe pure a complicare parecchio le cose per sommare i posti prenotati (ci avevi badato?).


    [Modalità OT]
    Ti faccio notare che tu, pur sapendone molto poco, non cerchi di aiutare, ma cerchi di aumentare il numero dei tuoi post, quasi a vantarti della scritta in basso, quel GURU che campeggia sotto al nome.
    Anche in questo post, prima dici delle cose, poi usi una costruzione di altri e scrivi per intero il codice per "risolvere ill problema di una altro", giusto perchè quello che ha chiesto ha abbandonato la tua strada, palesemente errata, per seguirne un'altra, che non dico osia la migliore, ma almeno segue criteri logici. Secondo te l'hai aiutato (Posto che dare il pesce pronto piuttosto che insegnare a pescare sia la soluzione contro la fame)? Ho hai cercato la gloria?
    E' solo un consiglio, abbandona la presunzione, e cerca di imparare daglli altri. NESSUNO è così grande da non poter imparare dagli altri. NESSUNO!
    [/Modalità OT]
    Ultima modifica di vplaza : 29-01-2014 alle ore 10.14.29

  4. #34
    Guest

    Predefinito

    grazie mille ora provo a studiarmela, se ho domande posso scriverti in privato da qualche parte ?

    ps io voglio ringraziare tutti e due perchè mi state aiutando molto.

    mmm questo prevede di cancellare tutto il mio lavoro perchè non saprei integrarlo nel mio codice(anche se ti ringrazio davvero molto) in effetti non capisco alcune cose e istruzioni che non ho mai utilizzato, te le elenco così magari mi dai qualche spiegazione:
    $Pax = (int) $_POST['Pax']; ---> ??? che vuole dire ? cioè cosa sarebbe Pax ?
    isset ---? mai usato non so cosa fa
    mysql_real_escape_string --> ho leggermente intuito la funziona, ma non l'ho mai applicata, è davvero necessaria ?

    ecco diciamo che queste cose + o - le ho capite. grazie mille.

    Io però sono testardo e vorrei ancora capire perchè nel mio codice:

    $sqlE="SELECT IDEVENTO FROM Eventi WHERE NOMEEVENTO = '$NOMEEVENTO'";
    $IDEVENTO = mysql_result($sqlE);

    $IDEVENTO mi restituisce sempre il vuoto ! è assurdo
    Ultima modifica di clubexplois : 29-01-2014 alle ore 15.09.39

  5. #35
    Guest

    Predefinito

    Citazione Originalmente inviato da clubexplois Visualizza messaggio
    $Pax = (int) $_POST['Pax']; ---> ??? che vuole dire ? cioè cosa sarebbe Pax ?
    Imposta il valore della variabile "Pax" uguale alla conversione in INTeri della variabile "Pax" passata via POST.

    Citazione Originalmente inviato da clubexplois Visualizza messaggio
    isset ---? mai usato non so cosa fa
    Verifica che una variabile sia stata inizializzata (se la variabile esiste). Restituisce True/False.

    Citazione Originalmente inviato da clubexplois Visualizza messaggio
    mysql_real_escape_string --> ho leggermente intuito la funziona, ma non l'ho mai applicata, è davvero necessaria ?
    Non è necessara, è FONDAMENTALE. Mai fidarsi. Prova a documentarti su SQL Injection.
    In pratica (ed usando linguaggio terra terra) ti ripulisce la stringa da tentativi non autorizzati di modifica alle query.

    Citazione Originalmente inviato da clubexplois Visualizza messaggio
    Io però sono testardo e vorrei ancora capire perchè nel mio codice:

    $sqlE="SELECT IDEVENTO FROM Eventi WHERE NOMEEVENTO = '$NOMEEVENTO'";
    $IDEVENTO = mysql_result($sqlE);

    $IDEVENTO mi restituisce sempre il vuoto ! è assurdo
    Da qualche parte sicuramente ci sarà l'errore ma così, da frammenti non è semplice trovarlo.
    Fatti stampare di tutto e prova a vedere dove perdi informazioni.
    clubexplois likes this.

  6. #36
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    @clubexplois
    Citazione Originalmente inviato da clubexplois Visualizza messaggio
    $Pax = (int) $_POST['Pax']; ---> ??? che vuole dire ? cioè cosa sarebbe Pax ?
    È il numero delle persone.

    @vplaza
    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Guarda, guarda. Prima la tabella prenotazioni non serviva per nulla (li metto in un campo in coda al cliente) e adesso ti senti libero pure di analizzare gli indici.
    Continuo a credere che quella tabella non serva a niente, ma visto che la state utilizzando ho consigliato di impostare un ID per ogni prenotazione, e ho già spiegato il motivo.

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Guarda che il codice si scrive in funzione della sua praticità, sicurezza ed affidabilità (su questo torno dopo), mica per la sua semplicità o nel risparmiare qualche riga di codice.
    Infatti ho già scritto che è più pratico gestire le prenotazioni con gli ID invece degli ID dei clienti e degli eventi.

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Ti fidi così tanto del codice? Se bastano gli IF, perchè mai metti le chiavi? Non basta un IF per verificare se il record è già inserito?
    Che significa "ti fidi del codice"?
    Se scrivi un codice PHP il server esegue sempre esattamente quello, non cambia a seconda dell'umore
    Volendo puoi settare anche due chiavi, ma ripeto che ritengo più opportuno avere un ID per ogni prenotazione.

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    craiamo la tabella prenotazioni come dici tu, con un campo IDPrenotazione che fa da chiave e togliamo la chiave composta. Sei sicuro che il cliente X per l'evento Y non faccia più di una prenotazione? Qualcosa del tipo

    Codice:
    IDPrenotazione | IDCliente | IDEvento | posti ...
    1                                1              1               5
    2                                1              1               25 ...
    L'univocità degli indici c'è, delle righe no. Sei sicuro di non incappare in una eventualità del genere?
    Già hai usato gli IF (ma avrai quindi fatto una query prima, quindi DUE query per OGNI inserimento piuttosto che una. Già bisogna risparmiare codice). Magari, per un motivo o per un altro una query viene eseguita due volte e ti ritrovi con righe duplicate. Cosa che poi ti costringe pure a complicare parecchio le cose per sommare i posti prenotati (ci avevi badato?).
    Ma stai scherzando? Quella query non viene eseguita se ci sono IDCliente e IDEvento uguali già presenti e su questo non ci piove!
    Query duplicate? Ma stiamo parlando di PHP? Sveglia, siamo nel 2014! Se fossimo stati nel lontano 1800, quando c'erano gli archivi al posto dei database, un errore ci sarebbe stato. Adesso fortunatamente abbiamo PHP, che dubito possa sbagliare!

    Citazione Originalmente inviato da vplaza Visualizza messaggio
    Ti faccio notare che tu, pur sapendone molto poco, non cerchi di aiutare, ma cerchi di aumentare il numero dei tuoi post, quasi a vantarti della scritta in basso, quel GURU che campeggia sotto al nome.
    Anche in questo post, prima dici delle cose, poi usi una costruzione di altri e scrivi per intero il codice per "risolvere ill problema di una altro", giusto perchè quello che ha chiesto ha abbandonato la tua strada, palesemente errata, per seguirne un'altra, che non dico osia la migliore, ma almeno segue criteri logici. Secondo te l'hai aiutato (Posto che dare il pesce pronto piuttosto che insegnare a pescare sia la soluzione contro la fame)? Ho hai cercato la gloria?
    E' solo un consiglio, abbandona la presunzione, e cerca di imparare daglli altri. NESSUNO è così grande da non poter imparare dagli altri. NESSUNO!
    Errori grammaticali a parte...
    Non cerco di aiutare? Spendo 20 minuti del mio tempo per scrivere un codice e cercare di aiutare... e poi mi dici che mi vanto dei post?
    Fatti un giro dei miei messaggi, e trovami anche un solo post inutile che ho scritto.
    Lo sai io come ho imparato il PHP? Con un codice pronto! Ho fatto una richiesta, mi hanno dato un codice ed io ho iniziato a studiarmi ogni parte di quel codice. Quindi non dipende da chi aiuta o fornisce il codice pronto, ma da chi ha fatto la richiesta. Se vuole imparare, è libero di cercare, studiare, porre domande. Se non vuole imparare semplicemente copia il codice e lo incolla. L'importante è aver risolto il problema.

    Ciao!

    PS: a me sembra che stia diventando una questione personale... ogni volta che scrivo qualcosa hai sempre da ridire: facci caso

  7. #37
    Guest

    Predefinito

    Tranquillo, non ribatto a nessuna delle corbellerie che scrivi.

    Anzi, per maggiore tua tranquillità, ti assicuro che eviterò accuratamente di aprire i post in cui hai solo salutato, a comunicare da questo. Mi spiace per chi sta sbattendoci la testa, e per quanti da questa discussione potrevano trovare spunti, ma non una parola ulteriore sprecherò sull'argomento.

    Addio.
    Ultima modifica di vplaza : 29-01-2014 alle ore 19.55.15

  8. #38
    Guest

    Predefinito

    mi sa allora che da adesso in poi dovrò contare solo sulle mie forze o se qualcuno privatamente mi può aiutare, lascio i miei recapiti:
    email: massmezz@hotmail.it
    skype: massimo0315

    grazie tante ad entrambi per la pazienza e per l'enorme aiuto fin qui ricevuto.

  9. #39
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da clubexplois Visualizza messaggio
    mi sa allora che da adesso in poi dovrò contare solo sulle mie forze
    Assolutamente no!
    vplaza ed io abbiamo risposto alle domande da te poste: se c'è qualcos'altro che non va domanda pure!
    Lo script che ti ho linkato non funziona?

    Ciao!

Pagina 2 di 2 PrimoPrimo 12

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •