DropDown per ID non assegnati postato il 18/10/2012 23:08:44 nel forum programmazione, gdrcd, open source, hosting
Buonasera a tutti :-)
Sto tentando di creare una pagina nella quale è possibile selezionare mediante un DropDown gli ID Disponibili in database.
Mi spiego:
Per creare una stanza, piuttosto che dover controllare SE un ID nella tabella "Stanze" è già occupato o meno, e utilizzarlo SOLO se è libero, volevo mettere, al posto della textbox attuale (nella quale scrivere l'ID della nuova stanza) un dropdown menu nel quale compaiono SOLO gli ID disponibili (quindi NON presenti in database).
Qualcuno ha un'idea di come popolare le "options" di questo DropDown menu?
Grazie a tutti :-)
18/10/2012 23:32:34 e modificato da leoblacksoul il 18/10/2012 23:33:01
Non è una buona pratica quella di assegnare gli ID manualmente.
Gli ID devono venire assegnati automaticamente dalla macchina, neanche l'amministratore dovrebbe venir caricato di questo compito.
Perchè, invece di volerli mettere a mano, non imposti il campo del database con la caratteristica "AUTO_INCREMENT"? Così ci pensa il database a generare ogni volta un ID nuovo valido senza che tu gli specifichi niente.
Per fare questo, nel form devi togliere completamente la parte di inserimento dell'ID e nella query "INSERT INTO......" devi togliere la parte in cui l'ID viene assegnato. Se l'ID non viene assegnato esplicitamente allora intreviene l'AUTO_INCREMENT che genere da solo un ID
18/10/2012 23:38:47 e modificato da darkabe il 18/10/2012 23:41:25
Vediamo se riesco a dire qualcosa di vagamente corretto, altrimenti potete linciarmi, offro io le pietre aguzze 😝
Do per scontato che ci sia un limite massimo a queste "stanze", una lista infinita non è decisamente qualcosa di carino a vedersi o anche solo da pensare di visualizzare!
Tramite una query io selezionerei tutte le stanze private e scorrendo l'array analizzerei di volta in volta l'id, ripetendo lo stesso controllo che attualmente viene fatto dopo che l'utente inserisce uno specifico ID. Logicamente simile a questo:
if (StanzaOccupata)
non scrivi nulla
else
crea un nuovo punto alla dropdown
EDIT: la mia risposta presuppone una lista di stanze con id definito, qualora non vi fosse basterebbe fare come dice leoblacksoul, un auto_increment e non c'è più problema
18/10/2012 23:53:40
Allora...
l'auto increment, non è percorribile in quanto gli ID in questione non sono "tutti" ma hanno dei parametri specifici (invero: Dovrebbero essere 1) Multipli di 100 2) Maggiori o uguali di 5000 3) Minori o uguali di 7000.
Quindi gli ID "validi sono solamente:
5000
5100
5200
5300
...
7000
L'idea di selezionarli e poi di eseguire un controllo non è male, il problema è... a livello di codice, come scrivo quel controllo?
19/10/2012 00:12:05
SELECT * FROM Table WHERE MOD(IDStanza,100)=0
così dovrebbe tirarti fuori tutti gli id multipli di 100. Il verificare che siano dentro l'intervallo puoi benissimo farlo via codice o con la funzione BETWEEN di mysql
19/10/2012 00:16:23
19/10/2012 00:26:27
19/10/2012 00:52:39
Hmmm...
ma la condizione del if
19/10/2012 01:00:54 e modificato da darkabe il 19/10/2012 01:02:31
È una funzione che dovresti crearti tu, e che non posso scriverti perché non ho abbastanza informazioni sulla struttura del database.
caso 1)
Se nella tua tabella c'è un campo per indicare che la stanza è libera o meno, allora basterà scrivere
19/10/2012 01:04:58
Ahhh OK!
Credo di aver capito.
Smanetto un po' e ti(vi) faccio sapere :-)
Grazie ^^
19/10/2012 01:19:49
niet...
O meglio, va tutto bene, ma il controllo sul "esiste, quindi non mettercela" non va...
pensavo ad una cosa del genere
Discussione seguita da
Rispondi alla Discussione Aggiungi ai Preferiti Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Planethos GdR: Una nuova profezia
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
Metin2: Informazioni sul server migliorate
Age of Crystals: Rallentamenti estivi
dbzgdr ha risposto alla discussione: Dragon Ball Z Gdr
Titan Revenge: Calendario eventi fino a fine mese online!
Ikariam → Su una piccola isola, in qualche parte del Mediterraneo, sorge un`antica civiltà. Sotto la tua guida inizia un`era di ricchezza e di scoperte!
Enlisted: Modifiche al sistema di aggiornamento
pyro72 ha aperto un annuncio di ricerca: World Without Heroes ricerca Giocatore
NosTale → Con l’aiuto della spada e della bacchetta magica risolverai abilmente intricate missioni e domerai coraggiosamente mostri selvaggi!
World Without Heroes: News GDR: Pubblicazione e Nuovo Inizio
I dati del generatore di rank sono stati aggiornati!
Il gestore di Nexi Generation ha risposto alla recensione di deanna
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
Title Design - Da Saul Bass a Game of Thrones il title design come nuova frontiera della creatività contemporanea
Gestori dei PbC - Articolo semiserio sui gestori che si possono trovare nei play by chat italiani suddivisi per tipologia!
Sakura no Unmei - Intervista alla gestrice del play by chat ad ambientazione manga Sakura no Unmei
Regno di NuovaLot - Intervista alla gestione del play by chat fantasy Regno di NuovaLot
Zhero - Intervista alla gestione di Zhero il play by chat post-apocalittico in cui sopravvivere agli Zombie!
Storia Giochi - Curiosità sulla storia dei giochi di casinò, videogiochi e giochi online