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
World of Warship: Battaglie Asimmetriche nel 14.5
nereya ha aperto una nuova discussione: Nuova Frontiera
Exclusive Villa GdR → Las Vegas, azzardo, vizi, soldi, intrighi... Più le sue luci sono scintillanti, più le sue ombre sono oscure. La città che non dorme mai, vi aspetta.
New Wizarding World: Un nuovo Medimago
Sea of Conquest: Incontra Demona Rood! 🔥
anacronista ha recensito Storie di Agarthi
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
Nyx Insight - Project S.E.T.: Setting Refresh Time ✨
mhorras1988 ha recensito Fengard
prosperus ha recensito Exclusive Villa GdR
visanders ha aperto una nuova discussione: Aiuto ricerca Gioco
War Thunder → Aviazione, veicoli corazzati e flotte militari della seconda guerra mondiale. Parteciperai a tutte le principali battaglie!
kooei ha recensito Il Paiolo Magico
emiko ha recensito La Tana del Ladro
Entropia Universe: 💥 Evento Summer Mayhem 2025
Enlisted → Guida la tua squadra di soldati in combattimenti su larga scala, con fanteria, veicoli corazzati e aerei della IIa Guerra Mondiale!
Guida al Play By Chat - Una guida base per l'utente del Play by Chat scaricabile gratuitamente in formato PDF!
Utenti Stranieri - I visitatori internazionali di GDR-online.com! Spulciamo i dati e scopriamo i paesi!
Fumetti Manga - Quali sono i fumetti manga più letti in Italia? Scopriamolo!
Seconda Era - Intervista alle gestrici del PbC fantasy Seconda Era - Le Terre Libere
Bright Lights - Intervista ai gestori del play by chat moderno Bright Lights
Giochi Signore degli Anelli - Lista completa dei giochi di ruolo online del signore degli anelli
Crisi dei GdR - Il GdR è in declino? La colpa è di Dungeons & Dragons?
Tutorial Chat PHP - Tutorial per creare una chat generica in PHP e MySQL