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 Segui Discussione Inoltra Discussione Forum Programmazione, GDRCD, Open Source, Hosting Elenco Forum
Il gestore di Undead ha risposto alla recensione di veluterio
Il gestore di Undead ha risposto alla recensione di neropallido
Storie di Agarthi → Un Varco si apre davanti a te, un mondo tra i mondi è a portata di mano. Lasciati alle spalle le certezze, inizia l'avventura!
The Line: Ultimo aggiornamento del Betatest
Le Cronache di Raja Dunia: Gran Torneo di RDT!
World of Tanks → Lanciati in epiche battaglie spalla a spalla con altri giocatori. Conquista la supremazia nel mondo dei Carri Armati!
RAID Shadow Legends: Programma per chi desidera reclutare Yukimasa
Betsu No Tamashi ricerca Tester
Piume Nere: 🎅🎁✨Festa dell'Avvento ✨🎁🎅
Black Sails Chronicles: ON - 2° Ricognizione a Nord
Raja Dunia → Tra verità divine e menzogne eterne, la tua anima è la chiave. Scopri Raja Dunia, e riscrivi il fato del Continente con armi e magia, fede o eresia.
I dati del generatore di rank sono stati aggiornati!
Black Sails Chronicles: ON - 1° Ricognizione a Nord
sadwick ha recensito Cyberpunk NbG Re-Coded
The Coven → Negli scorci di luce delle paludi della Louisiana fioriscono nuove ombre. Estend e la Congrega ti aspettano per vivere emozionanti avventure!
